@@ -576,22 +576,7 @@ where
576576 let span = match parse_kleene_op ( input, span) {
577577 // #1 is a `?` (needs feature gate)
578578 Ok ( Ok ( ( op, op1_span) ) ) if op == KleeneOp :: ZeroOrOne => {
579- if !features. macro_at_most_once_rep
580- && !attr:: contains_name ( attrs, "allow_internal_unstable" )
581- {
582- let explain = feature_gate:: EXPLAIN_MACRO_AT_MOST_ONCE_REP ;
583- emit_feature_err (
584- sess,
585- "macro_at_most_once_rep" ,
586- op1_span,
587- GateIssue :: Language ,
588- explain,
589- ) ;
590-
591- op1_span
592- } else {
593- return ( None , op) ;
594- }
579+ return ( None , op) ;
595580 }
596581
597582 // #1 is a `+` or `*` KleeneOp
@@ -602,22 +587,10 @@ where
602587 // #2 is the `?` Kleene op, which does not take a separator (error)
603588 Ok ( Ok ( ( op, op2_span) ) ) if op == KleeneOp :: ZeroOrOne => {
604589 // Error!
605-
606- if !features. macro_at_most_once_rep
607- && !attr:: contains_name ( attrs, "allow_internal_unstable" )
608- {
609- // FIXME: when `?` as a Kleene op is stabilized, we only need the "does not
610- // take a macro separator" error (i.e. the `else` case).
611- sess. span_diagnostic
612- . struct_span_err ( op2_span, "expected `*` or `+`" )
613- . note ( "`?` is not a macro repetition operator" )
614- . emit ( ) ;
615- } else {
616- sess. span_diagnostic . span_err (
617- span,
618- "the `?` macro repetition operator does not take a separator" ,
619- ) ;
620- }
590+ sess. span_diagnostic . span_err (
591+ span,
592+ "the `?` macro repetition operator does not take a separator" ,
593+ ) ;
621594
622595 // Return a dummy
623596 return ( None , KleeneOp :: ZeroOrMore ) ;
@@ -638,13 +611,8 @@ where
638611 } ;
639612
640613 // If we ever get to this point, we have experienced an "unexpected token" error
641-
642- if !features. macro_at_most_once_rep && !attr:: contains_name ( attrs, "allow_internal_unstable" ) {
643- sess. span_diagnostic . span_err ( span, "expected `*` or `+`" ) ;
644- } else {
645- sess. span_diagnostic
646- . span_err ( span, "expected one of: `*`, `+`, or `?`" ) ;
647- }
614+ sess. span_diagnostic
615+ . span_err ( span, "expected one of: `*`, `+`, or `?`" ) ;
648616
649617 // Return a dummy
650618 ( None , KleeneOp :: ZeroOrMore )
0 commit comments