|
1 | 1 | use rustc_ast as ast;
|
2 | 2 | use rustc_ast::visit::{self, AssocCtxt, FnCtxt, FnKind, Visitor};
|
3 | 3 | use rustc_ast::{attr, AssocConstraint, AssocConstraintKind, NodeId};
|
4 |
| -use rustc_ast::{token, PatKind, RangeEnd}; |
| 4 | +use rustc_ast::{token, PatKind}; |
5 | 5 | use rustc_feature::{AttributeGate, BuiltinAttribute, Features, GateIssue, BUILTIN_ATTRIBUTE_MAP};
|
6 | 6 | use rustc_session::parse::{feature_err, feature_err_issue, feature_warn};
|
7 | 7 | use rustc_session::Session;
|
@@ -418,15 +418,6 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
|
418 | 418 | PatKind::Box(..) => {
|
419 | 419 | gate!(&self, box_patterns, pattern.span, "box pattern syntax is experimental");
|
420 | 420 | }
|
421 |
| - PatKind::Range(_, Some(_), Spanned { node: RangeEnd::Excluded, .. }) => { |
422 |
| - gate!( |
423 |
| - &self, |
424 |
| - exclusive_range_pattern, |
425 |
| - pattern.span, |
426 |
| - "exclusive range pattern syntax is experimental", |
427 |
| - "use an inclusive range pattern, like N..=M" |
428 |
| - ); |
429 |
| - } |
430 | 421 | _ => {}
|
431 | 422 | }
|
432 | 423 | visit::walk_pat(self, pattern)
|
@@ -619,10 +610,6 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session, features: &Features) {
|
619 | 610 | // be too.
|
620 | 611 | gate_all_legacy_dont_use!(return_type_notation, "return type notation is experimental");
|
621 | 612 | gate_all_legacy_dont_use!(decl_macro, "`macro` is experimental");
|
622 |
| - gate_all_legacy_dont_use!( |
623 |
| - exclusive_range_pattern, |
624 |
| - "exclusive range pattern syntax is experimental" |
625 |
| - ); |
626 | 613 | gate_all_legacy_dont_use!(try_blocks, "`try` blocks are unstable");
|
627 | 614 | gate_all_legacy_dont_use!(auto_traits, "`auto` traits are unstable");
|
628 | 615 |
|
|
0 commit comments