@@ -576,22 +576,7 @@ where
576
576
let span = match parse_kleene_op ( input, span) {
577
577
// #1 is a `?` (needs feature gate)
578
578
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) ;
595
580
}
596
581
597
582
// #1 is a `+` or `*` KleeneOp
@@ -602,22 +587,10 @@ where
602
587
// #2 is the `?` Kleene op, which does not take a separator (error)
603
588
Ok ( Ok ( ( op, op2_span) ) ) if op == KleeneOp :: ZeroOrOne => {
604
589
// 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
+ ) ;
621
594
622
595
// Return a dummy
623
596
return ( None , KleeneOp :: ZeroOrMore ) ;
@@ -638,13 +611,8 @@ where
638
611
} ;
639
612
640
613
// 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 `?`" ) ;
648
616
649
617
// Return a dummy
650
618
( None , KleeneOp :: ZeroOrMore )
0 commit comments