@@ -212,8 +212,8 @@ pub use quote::{quote, quote_span};
212212fn tree_to_bridge_tree (
213213 tree : TokenTree ,
214214) -> bridge:: TokenTree <
215+ bridge:: client:: TokenStream ,
215216 bridge:: client:: Span ,
216- bridge:: client:: Group ,
217217 bridge:: client:: Ident ,
218218 bridge:: client:: Literal ,
219219> {
@@ -238,8 +238,8 @@ impl From<TokenTree> for TokenStream {
238238struct ConcatTreesHelper {
239239 trees : Vec <
240240 bridge:: TokenTree <
241+ bridge:: client:: TokenStream ,
241242 bridge:: client:: Span ,
242- bridge:: client:: Group ,
243243 bridge:: client:: Ident ,
244244 bridge:: client:: Literal ,
245245 > ,
@@ -365,8 +365,8 @@ pub mod token_stream {
365365 pub struct IntoIter (
366366 std:: vec:: IntoIter <
367367 bridge:: TokenTree <
368+ bridge:: client:: TokenStream ,
368369 bridge:: client:: Span ,
369- bridge:: client:: Group ,
370370 bridge:: client:: Ident ,
371371 bridge:: client:: Literal ,
372372 > ,
@@ -788,7 +788,7 @@ impl fmt::Display for TokenTree {
788788/// A `Group` internally contains a `TokenStream` which is surrounded by `Delimiter`s.
789789#[ derive( Clone ) ]
790790#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
791- pub struct Group ( bridge:: client:: Group ) ;
791+ pub struct Group ( bridge:: Group < bridge :: client:: TokenStream , bridge :: client :: Span > ) ;
792792
793793#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
794794impl !Send for Group { }
@@ -825,13 +825,17 @@ impl Group {
825825 /// method below.
826826 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
827827 pub fn new ( delimiter : Delimiter , stream : TokenStream ) -> Group {
828- Group ( bridge:: client:: Group :: new ( delimiter, stream. 0 ) )
828+ Group ( bridge:: Group {
829+ delimiter,
830+ stream : stream. 0 ,
831+ span : bridge:: DelimSpan :: from_single ( Span :: call_site ( ) . 0 ) ,
832+ } )
829833 }
830834
831835 /// Returns the delimiter of this `Group`
832836 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
833837 pub fn delimiter ( & self ) -> Delimiter {
834- self . 0 . delimiter ( )
838+ self . 0 . delimiter
835839 }
836840
837841 /// Returns the `TokenStream` of tokens that are delimited in this `Group`.
@@ -840,7 +844,7 @@ impl Group {
840844 /// returned above.
841845 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
842846 pub fn stream ( & self ) -> TokenStream {
843- TokenStream ( Some ( self . 0 . stream ( ) ) )
847+ TokenStream ( self . 0 . stream . clone ( ) )
844848 }
845849
846850 /// Returns the span for the delimiters of this token stream, spanning the
@@ -852,7 +856,7 @@ impl Group {
852856 /// ```
853857 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
854858 pub fn span ( & self ) -> Span {
855- Span ( self . 0 . span ( ) )
859+ Span ( self . 0 . span . entire )
856860 }
857861
858862 /// Returns the span pointing to the opening delimiter of this group.
@@ -863,7 +867,7 @@ impl Group {
863867 /// ```
864868 #[ stable( feature = "proc_macro_group_span" , since = "1.55.0" ) ]
865869 pub fn span_open ( & self ) -> Span {
866- Span ( self . 0 . span_open ( ) )
870+ Span ( self . 0 . span . open )
867871 }
868872
869873 /// Returns the span pointing to the closing delimiter of this group.
@@ -874,7 +878,7 @@ impl Group {
874878 /// ```
875879 #[ stable( feature = "proc_macro_group_span" , since = "1.55.0" ) ]
876880 pub fn span_close ( & self ) -> Span {
877- Span ( self . 0 . span_close ( ) )
881+ Span ( self . 0 . span . close )
878882 }
879883
880884 /// Configures the span for this `Group`'s delimiters, but not its internal
@@ -885,7 +889,7 @@ impl Group {
885889 /// tokens at the level of the `Group`.
886890 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
887891 pub fn set_span ( & mut self , span : Span ) {
888- self . 0 . set_span ( span. 0 ) ;
892+ self . 0 . span = bridge :: DelimSpan :: from_single ( span. 0 ) ;
889893 }
890894}
891895
0 commit comments