From 1639e51f6e4d036478705f4581de3a7417ccec0f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 26 Mar 2015 18:34:27 -0700 Subject: Feature gate *all* slice patterns. #23121 Until some backwards-compatibility hazards are fixed in #23121, these need to be unstable. [breaking-change] --- src/libsyntax/feature_gate.rs | 8 ++++++++ src/libsyntax/lib.rs | 1 + 2 files changed, 9 insertions(+) (limited to 'src/libsyntax') diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 60f81dac1e9..ef8a0aa7b52 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -153,6 +153,9 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Status)] = &[ // below (it has to be checked before expansion possibly makes // macros disappear). ("allow_internal_unstable", "1.0.0", Active), + + // #23121. Array patterns have some hazards yet. + ("slice_patterns", "1.0.0", Active), ]; // (changing above list without updating src/doc/reference.md makes @cmr sad) @@ -694,6 +697,11 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { but at the end of a slice (e.g. \ `[0, ..xs, 0]` are experimental") } + ast::PatVec(..) => { + self.gate_feature("slice_patterns", + pattern.span, + "slice pattern syntax is experimental"); + } ast::PatBox(..) => { self.gate_feature("box_patterns", pattern.span, diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index 9af7b9ab633..a456807bb90 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -41,6 +41,7 @@ #![feature(str_char)] #![feature(convert)] #![feature(into_cow)] +#![feature(slice_patterns)] extern crate arena; extern crate fmt_macros; -- cgit 1.4.1-3-g733a5