1
- use rustc_ast:: token:: NtExprKind :: * ;
2
1
use rustc_ast:: token:: { self , Delimiter , IdentIsRaw , NonterminalKind , Token } ;
3
2
use rustc_ast:: { tokenstream, NodeId } ;
4
3
use rustc_ast_pretty:: pprust;
@@ -13,10 +12,7 @@ use crate::errors;
13
12
use crate :: mbe:: macro_parser:: count_metavar_decls;
14
13
use crate :: mbe:: { Delimited , KleeneOp , KleeneToken , MetaVarExpr , SequenceRepetition , TokenTree } ;
15
14
16
- const VALID_FRAGMENT_NAMES_MSG : & str = "valid fragment specifiers are \
17
- `ident`, `block`, `stmt`, `expr`, `pat`, `ty`, `lifetime`, `literal`, `path`, `meta`, `tt`, \
18
- `item` and `vis`";
19
- pub ( crate ) const VALID_FRAGMENT_NAMES_MSG_2021 : & str = "valid fragment specifiers are \
15
+ pub ( crate ) const VALID_FRAGMENT_NAMES_MSG : & str = "valid fragment specifiers are \
20
16
`ident`, `block`, `stmt`, `expr`, `expr_2021`, `pat`, `ty`, `lifetime`, `literal`, `path`, \
21
17
`meta`, `tt`, `item` and `vis`";
22
18
@@ -92,39 +88,13 @@ pub(super) fn parse(
92
88
} ;
93
89
let kind = NonterminalKind :: from_symbol ( fragment. name , edition)
94
90
. unwrap_or_else ( || {
95
- let help = match fragment. name {
96
- sym:: expr_2021 => {
97
- format ! (
98
- "fragment specifier `expr_2021` \
99
- requires Rust 2021 or later\n \
100
- {VALID_FRAGMENT_NAMES_MSG}"
101
- )
102
- }
103
- _ if edition ( ) . at_least_rust_2021 ( )
104
- && features. expr_fragment_specifier_2024 =>
105
- {
106
- VALID_FRAGMENT_NAMES_MSG_2021 . into ( )
107
- }
108
- _ => VALID_FRAGMENT_NAMES_MSG . into ( ) ,
109
- } ;
110
91
sess. dcx ( ) . emit_err ( errors:: InvalidFragmentSpecifier {
111
92
span,
112
93
fragment,
113
- help,
94
+ help : VALID_FRAGMENT_NAMES_MSG . into ( ) ,
114
95
} ) ;
115
96
NonterminalKind :: Ident
116
97
} ) ;
117
- if kind == NonterminalKind :: Expr ( Expr2021 { inferred : false } )
118
- && !features. expr_fragment_specifier_2024
119
- {
120
- rustc_session:: parse:: feature_err (
121
- sess,
122
- sym:: expr_fragment_specifier_2024,
123
- span,
124
- "fragment specifier `expr_2021` is unstable" ,
125
- )
126
- . emit ( ) ;
127
- }
128
98
result. push ( TokenTree :: MetaVarDecl ( span, ident, Some ( kind) ) ) ;
129
99
continue ;
130
100
}
0 commit comments