@@ -797,7 +797,7 @@ fn match_meta_var<S: Span>(
797
797
return input. expect_fragment ( parser:: PrefixEntryPoint :: Expr ) . map ( |tt| {
798
798
tt. map ( |tt| match tt {
799
799
tt:: TokenTree :: Leaf ( leaf) => tt:: Subtree {
800
- delimiter : tt:: Delimiter :: dummy_invisible ( ) ,
800
+ delimiter : tt:: Delimiter :: invisible_spanned ( * leaf . span ( ) ) ,
801
801
token_trees : vec ! [ leaf. into( ) ] ,
802
802
} ,
803
803
tt:: TokenTree :: Subtree ( mut s) => {
@@ -831,7 +831,7 @@ fn match_meta_var<S: Span>(
831
831
match neg {
832
832
None => lit. into ( ) ,
833
833
Some ( neg) => tt:: TokenTree :: Subtree ( tt:: Subtree {
834
- delimiter : tt:: Delimiter :: dummy_invisible ( ) ,
834
+ delimiter : tt:: Delimiter :: invisible_spanned ( * literal . span ( ) ) ,
835
835
token_trees : vec ! [ neg, lit. into( ) ] ,
836
836
} ) ,
837
837
}
@@ -960,11 +960,13 @@ impl<S: Span> TtIter<'_, S> {
960
960
self . expect_lifetime ( )
961
961
} else {
962
962
let puncts = self . expect_glued_punct ( ) ?;
963
+ let delimiter = tt:: Delimiter {
964
+ open : puncts. first ( ) . unwrap ( ) . span ,
965
+ close : puncts. last ( ) . unwrap ( ) . span ,
966
+ kind : tt:: DelimiterKind :: Invisible ,
967
+ } ;
963
968
let token_trees = puncts. into_iter ( ) . map ( |p| tt:: Leaf :: Punct ( p) . into ( ) ) . collect ( ) ;
964
- Ok ( tt:: TokenTree :: Subtree ( tt:: Subtree {
965
- delimiter : tt:: Delimiter :: dummy_invisible ( ) ,
966
- token_trees,
967
- } ) )
969
+ Ok ( tt:: TokenTree :: Subtree ( tt:: Subtree { delimiter, token_trees } ) )
968
970
}
969
971
} else {
970
972
self . next ( ) . ok_or ( ( ) ) . cloned ( )
@@ -979,7 +981,11 @@ impl<S: Span> TtIter<'_, S> {
979
981
let ident = self . expect_ident_or_underscore ( ) ?;
980
982
981
983
Ok ( tt:: Subtree {
982
- delimiter : tt:: Delimiter :: dummy_invisible ( ) ,
984
+ delimiter : tt:: Delimiter {
985
+ open : punct. span ,
986
+ close : ident. span ,
987
+ kind : tt:: DelimiterKind :: Invisible ,
988
+ } ,
983
989
token_trees : vec ! [
984
990
tt:: Leaf :: Punct ( * punct) . into( ) ,
985
991
tt:: Leaf :: Ident ( ident. clone( ) ) . into( ) ,
0 commit comments