@@ -23,7 +23,7 @@ use weak_table::WeakValueHashMap;
2323
2424use crate :: context:: { ContextId , Tree , TreeContext } ;
2525use crate :: obj_utils:: { DynEq , DynHash } ;
26- use crate :: { Span , TreeRoot } ;
26+ use crate :: { span , Span , TreeRoot } ;
2727
2828/// Configuration for an await-tree registry, which affects the behavior of all await-trees in the
2929/// registry.
@@ -59,6 +59,12 @@ pub trait ToRootSpan {
5959 fn to_root_span ( & self ) -> Span ;
6060}
6161
62+ impl < T : Display > ToRootSpan for T {
63+ fn to_root_span ( & self ) -> Span {
64+ span ! ( "{self}" )
65+ }
66+ }
67+
6268/// Key type for anonymous await-trees.
6369#[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash ) ]
6470struct AnonymousKey ( ContextId ) ;
@@ -232,7 +238,7 @@ impl Registry {
232238 ///
233239 /// This is a convenience method for `self.register(key, key.to_root_span())`. See
234240 /// [`Registry::register`] for more details.
235- pub fn register_root ( & self , key : impl Key + ToRootSpan ) -> TreeRoot {
241+ pub fn register_derived_root ( & self , key : impl Key + ToRootSpan ) -> TreeRoot {
236242 let root_span = key. to_root_span ( ) ;
237243 self . register ( key, root_span)
238244 }
0 commit comments