@@ -743,9 +743,11 @@ fn match_meta_var(
743743) -> ExpandResult < Option < Fragment > > {
744744 let fragment = match kind {
745745 MetaVarKind :: Path => {
746- return input. expect_fragment ( parser:: PrefixEntryPoint :: Path ) . map ( |it| {
747- it. map ( |it| tt:: TokenTree :: subtree_or_wrap ( it, delim_span) ) . map ( Fragment :: Path )
748- } ) ;
746+ return input
747+ . expect_fragment ( parser:: PrefixEntryPoint :: Path , parser:: Edition :: Edition2021 )
748+ . map ( |it| {
749+ it. map ( |it| tt:: TokenTree :: subtree_or_wrap ( it, delim_span) ) . map ( Fragment :: Path )
750+ } ) ;
749751 }
750752 MetaVarKind :: Ty => parser:: PrefixEntryPoint :: Ty ,
751753 MetaVarKind :: Pat => parser:: PrefixEntryPoint :: PatTop ,
@@ -770,21 +772,23 @@ fn match_meta_var(
770772 }
771773 _ => { }
772774 } ;
773- return input. expect_fragment ( parser:: PrefixEntryPoint :: Expr ) . map ( |tt| {
774- tt. map ( |tt| match tt {
775- tt:: TokenTree :: Leaf ( leaf) => tt:: Subtree {
776- delimiter : tt:: Delimiter :: invisible_spanned ( * leaf. span ( ) ) ,
777- token_trees : Box :: new ( [ leaf. into ( ) ] ) ,
778- } ,
779- tt:: TokenTree :: Subtree ( mut s) => {
780- if s. delimiter . kind == tt:: DelimiterKind :: Invisible {
781- s. delimiter . kind = tt:: DelimiterKind :: Parenthesis ;
775+ return input
776+ . expect_fragment ( parser:: PrefixEntryPoint :: Expr , parser:: Edition :: Edition2021 )
777+ . map ( |tt| {
778+ tt. map ( |tt| match tt {
779+ tt:: TokenTree :: Leaf ( leaf) => tt:: Subtree {
780+ delimiter : tt:: Delimiter :: invisible_spanned ( * leaf. span ( ) ) ,
781+ token_trees : Box :: new ( [ leaf. into ( ) ] ) ,
782+ } ,
783+ tt:: TokenTree :: Subtree ( mut s) => {
784+ if s. delimiter . kind == tt:: DelimiterKind :: Invisible {
785+ s. delimiter . kind = tt:: DelimiterKind :: Parenthesis ;
786+ }
787+ s
782788 }
783- s
784- }
785- } )
786- . map ( Fragment :: Expr )
787- } ) ;
789+ } )
790+ . map ( Fragment :: Expr )
791+ } ) ;
788792 }
789793 MetaVarKind :: Ident | MetaVarKind :: Tt | MetaVarKind :: Lifetime | MetaVarKind :: Literal => {
790794 let tt_result = match kind {
@@ -819,7 +823,7 @@ fn match_meta_var(
819823 return tt_result. map ( |it| Some ( Fragment :: Tokens ( it) ) ) . into ( ) ;
820824 }
821825 } ;
822- input. expect_fragment ( fragment) . map ( |it| it. map ( Fragment :: Tokens ) )
826+ input. expect_fragment ( fragment, parser :: Edition :: Edition2021 ) . map ( |it| it. map ( Fragment :: Tokens ) )
823827}
824828
825829fn collect_vars ( collector_fun : & mut impl FnMut ( SmolStr ) , pattern : & MetaTemplate ) {
0 commit comments