@@ -112,9 +112,8 @@ use rustc_ast::{DUMMY_NODE_ID, NodeId};
112112use rustc_data_structures:: fx:: FxHashMap ;
113113use rustc_errors:: MultiSpan ;
114114use rustc_lint_defs:: BuiltinLintDiag ;
115- use rustc_session:: lint:: builtin:: { META_VARIABLE_MISUSE , MISSING_FRAGMENT_SPECIFIER } ;
115+ use rustc_session:: lint:: builtin:: META_VARIABLE_MISUSE ;
116116use rustc_session:: parse:: ParseSess ;
117- use rustc_span:: edition:: Edition ;
118117use rustc_span:: { ErrorGuaranteed , MacroRulesNormalizedIdent , Span , kw} ;
119118use smallvec:: SmallVec ;
120119
@@ -266,23 +265,11 @@ fn check_binders(
266265 // Similarly, this can only happen when checking a toplevel macro.
267266 TokenTree :: MetaVarDecl ( span, name, kind) => {
268267 if kind. is_none ( ) && node_id != DUMMY_NODE_ID {
269- // FIXME: Report this as a hard error eventually and remove equivalent errors from
270- // `parse_tt_inner` and `nameize`. Until then the error may be reported twice, once
271- // as a hard error and then once as a buffered lint.
272- if span. edition ( ) >= Edition :: Edition2024 {
273- psess. dcx ( ) . emit_err ( errors:: MissingFragmentSpecifier {
274- span,
275- add_span : span. shrink_to_hi ( ) ,
276- valid : VALID_FRAGMENT_NAMES_MSG ,
277- } ) ;
278- } else {
279- psess. buffer_lint (
280- MISSING_FRAGMENT_SPECIFIER ,
281- span,
282- node_id,
283- BuiltinLintDiag :: MissingFragmentSpecifier ,
284- ) ;
285- }
268+ psess. dcx ( ) . emit_err ( errors:: MissingFragmentSpecifier {
269+ span,
270+ add_span : span. shrink_to_hi ( ) ,
271+ valid : VALID_FRAGMENT_NAMES_MSG ,
272+ } ) ;
286273 }
287274 if !macros. is_empty ( ) {
288275 psess. dcx ( ) . span_bug ( span, "unexpected MetaVarDecl in nested lhs" ) ;
0 commit comments