about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2014-10-02 11:47:51 -0700
committerAaron Turon <aturon@mozilla.com>2014-10-02 11:47:51 -0700
commit7bf56df4c8bf40a16f2743447b7688343642f370 (patch)
treea3854d324e66cf84cc78d1a89faff4a6265a9058
parent2f365ffdad40475e8f70f7af7f210d6c597b60f5 (diff)
downloadrust-7bf56df4c8bf40a16f2743447b7688343642f370.tar.gz
rust-7bf56df4c8bf40a16f2743447b7688343642f370.zip
Revert "Put slicing syntax behind a feature gate."
This reverts commit 95cfc35607ccf5f02f02de56a35a9ef50fa23a82.
-rw-r--r--src/compiletest/compiletest.rs2
-rw-r--r--src/doc/reference.md2
-rw-r--r--src/libcollections/lib.rs3
-rw-r--r--src/libcollections/slice.rs9
-rw-r--r--src/libcollections/string.rs4
-rw-r--r--src/libcore/lib.rs3
-rw-r--r--src/libcore/ops.rs6
-rw-r--r--src/libcore/slice.rs4
-rw-r--r--src/libcoretest/lib.rs2
-rw-r--r--src/libnative/lib.rs3
-rw-r--r--src/libnum/lib.rs3
-rw-r--r--src/librbml/lib.rs3
-rw-r--r--src/libregex/lib.rs3
-rw-r--r--src/librustc/lib.rs3
-rw-r--r--src/librustc_back/lib.rs3
-rw-r--r--src/librustdoc/lib.rs3
-rw-r--r--src/librustrt/lib.rs3
-rw-r--r--src/libserialize/lib.rs3
-rw-r--r--src/libstd/io/net/udp.rs33
-rw-r--r--src/libstd/lib.rs3
-rw-r--r--src/libsyntax/feature_gate.rs6
-rw-r--r--src/libsyntax/lib.rs3
-rw-r--r--src/libterm/lib.rs3
-rw-r--r--src/test/bench/shootout-fannkuch-redux.rs2
-rw-r--r--src/test/bench/shootout-fasta-redux.rs2
-rw-r--r--src/test/bench/shootout-fasta.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide-pipes.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide.rs2
-rw-r--r--src/test/bench/shootout-regex-dna.rs2
-rw-r--r--src/test/bench/shootout-reverse-complement.rs2
-rw-r--r--src/test/compile-fail/issue-15730.rs2
-rw-r--r--src/test/compile-fail/slice-2.rs2
-rw-r--r--src/test/compile-fail/slice-borrow.rs2
-rw-r--r--src/test/compile-fail/slice-mut-2.rs2
-rw-r--r--src/test/compile-fail/slice-mut.rs2
-rw-r--r--src/test/debuginfo/vec-slices.rs1
-rw-r--r--src/test/run-pass/issue-3888-2.rs2
-rw-r--r--src/test/run-pass/issue-4464.rs2
-rw-r--r--src/test/run-pass/issue-8898.rs1
-rw-r--r--src/test/run-pass/slice-2.rs2
-rw-r--r--src/test/run-pass/slice-fail-1.rs2
-rw-r--r--src/test/run-pass/slice-fail-2.rs2
-rw-r--r--src/test/run-pass/slice.rs2
43 files changed, 43 insertions, 105 deletions
diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs
index 1e5e3ebdb34..0a486ef0305 100644
--- a/src/compiletest/compiletest.rs
+++ b/src/compiletest/compiletest.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 #![crate_type = "bin"]
-#![feature(phase, slicing_syntax)]
+#![feature(phase)]
 
 #![deny(warnings)]
 
diff --git a/src/doc/reference.md b/src/doc/reference.md
index c3b61f6435c..3da3d4c5807 100644
--- a/src/doc/reference.md
+++ b/src/doc/reference.md
@@ -3828,7 +3828,7 @@ type signature of `print`, and the cast expression in `main`.
 Within the body of an item that has type parameter declarations, the names of
 its type parameters are types:
 
-```ignore
+```
 fn map<A: Clone, B: Clone>(f: |A| -> B, xs: &[A]) -> Vec<B> {
     if xs.len() == 0 {
        return vec![];
diff --git a/src/libcollections/lib.rs b/src/libcollections/lib.rs
index 4d0aaf83907..8b9a0ec796e 100644
--- a/src/libcollections/lib.rs
+++ b/src/libcollections/lib.rs
@@ -19,9 +19,8 @@
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
 
-#![allow(unknown_features)]
 #![feature(macro_rules, managed_boxes, default_type_params, phase, globs)]
-#![feature(unsafe_destructor, import_shadowing, slicing_syntax)]
+#![feature(unsafe_destructor, import_shadowing)]
 #![no_std]
 
 #[phase(plugin, link)] extern crate core;
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs
index 60692ceb401..9cd01617916 100644
--- a/src/libcollections/slice.rs
+++ b/src/libcollections/slice.rs
@@ -51,12 +51,9 @@
 //! interval `[a, b)`:
 //!
 //! ```rust
-//! #![feature(slicing_syntax)]
-//! fn main() {
-//!     let numbers = [0i, 1i, 2i];
-//!     let last_numbers = numbers[1..3];
-//!     // last_numbers is now &[1i, 2i]
-//! }
+//! let numbers = [0i, 1i, 2i];
+//! let last_numbers = numbers[1..3];
+//! // last_numbers is now &[1i, 2i]
 //! ```
 //!
 //! ## Implementations of other traits
diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs
index 206e392f664..31bd377a8de 100644
--- a/src/libcollections/string.rs
+++ b/src/libcollections/string.rs
@@ -160,7 +160,7 @@ impl String {
 
         if i > 0 {
             unsafe {
-                res.as_mut_vec().push_all(v[..i])
+                res.as_mut_vec().push_all(v.[..i])
             };
         }
 
@@ -177,7 +177,7 @@ impl String {
             macro_rules! error(() => ({
                 unsafe {
                     if subseqidx != i_ {
-                        res.as_mut_vec().push_all(v[subseqidx..i_]);
+                        res.as_mut_vec().push_all(vv[subseqidx..i_]);
                     }
                     subseqidx = i;
                     res.as_mut_vec().push_all(REPLACEMENT);
diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs
index 4890dc2bb73..7e2ea492d4c 100644
--- a/src/libcore/lib.rs
+++ b/src/libcore/lib.rs
@@ -57,9 +57,8 @@
        html_playground_url = "http://play.rust-lang.org/")]
 
 #![no_std]
-#![allow(unknown_features)]
 #![feature(globs, intrinsics, lang_items, macro_rules, managed_boxes, phase)]
-#![feature(simd, unsafe_destructor, slicing_syntax)]
+#![feature(simd, unsafe_destructor)]
 #![deny(missing_doc)]
 
 mod macros;
diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs
index 422c496995b..77cee2b9863 100644
--- a/src/libcore/ops.rs
+++ b/src/libcore/ops.rs
@@ -684,7 +684,7 @@ pub trait IndexMut<Index, Result> {
  * A trivial implementation of `Slice`. When `Foo[..Foo]` happens, it ends up
  * calling `slice_to`, and therefore, `main` prints `Slicing!`.
  *
- * ```ignore
+ * ```
  * struct Foo;
  *
  * impl ::core::ops::Slice<Foo, Foo> for Foo {
@@ -749,7 +749,7 @@ pub trait Slice<Idx, Sized? Result> for Sized? {
  * A trivial implementation of `SliceMut`. When `Foo[Foo..]` happens, it ends up
  * calling `slice_from_mut`, and therefore, `main` prints `Slicing!`.
  *
- * ```ignore
+ * ```
  * struct Foo;
  *
  * impl ::core::ops::SliceMut<Foo, Foo> for Foo {
@@ -771,7 +771,7 @@ pub trait Slice<Idx, Sized? Result> for Sized? {
  *     }
  * }
  *
- * pub fn main() {
+ * fn main() {
  *     Foo[mut Foo..];
  * }
  * ```
diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs
index 2ff0fd2ef00..68b3a3199df 100644
--- a/src/libcore/slice.rs
+++ b/src/libcore/slice.rs
@@ -814,13 +814,13 @@ impl<'a,T> MutableSlice<'a, T> for &'a mut [T] {
     #[inline]
     fn tail_mut(self) -> &'a mut [T] {
         let len = self.len();
-        self[mut 1..len]
+        self.slice_mut(1, len)
     }
 
     #[inline]
     fn init_mut(self) -> &'a mut [T] {
         let len = self.len();
-        self[mut 0..len - 1]
+        self.slice_mut(0, len - 1)
     }
 
     #[inline]
diff --git a/src/libcoretest/lib.rs b/src/libcoretest/lib.rs
index 5f31ed35f1b..7866d2f4a11 100644
--- a/src/libcoretest/lib.rs
+++ b/src/libcoretest/lib.rs
@@ -7,7 +7,7 @@
 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
-#![feature(globs, unsafe_destructor, macro_rules, slicing_syntax)]
+#![feature(globs, unsafe_destructor, macro_rules)]
 
 extern crate core;
 extern crate test;
diff --git a/src/libnative/lib.rs b/src/libnative/lib.rs
index 5def99d8ef3..267ff3d2a81 100644
--- a/src/libnative/lib.rs
+++ b/src/libnative/lib.rs
@@ -57,8 +57,7 @@
 
 #![deny(unused_result, unused_must_use)]
 #![allow(non_camel_case_types, deprecated)]
-#![allow(unknown_features)]
-#![feature(default_type_params, lang_items, slicing_syntax)]
+#![feature(default_type_params, lang_items)]
 
 // NB this crate explicitly does *not* allow glob imports, please seriously
 //    consider whether they're needed before adding that feature here (the
diff --git a/src/libnum/lib.rs b/src/libnum/lib.rs
index fa41cf37112..17071d22dee 100644
--- a/src/libnum/lib.rs
+++ b/src/libnum/lib.rs
@@ -43,8 +43,7 @@
 //!
 //! [newt]: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method
 
-#![allow(unknown_features)]
-#![feature(macro_rules, slicing_syntax)]
+#![feature(macro_rules)]
 #![feature(default_type_params)]
 
 #![crate_name = "num"]
diff --git a/src/librbml/lib.rs b/src/librbml/lib.rs
index 7480cf320cf..fa327fb3b4c 100644
--- a/src/librbml/lib.rs
+++ b/src/librbml/lib.rs
@@ -24,8 +24,7 @@
        html_favicon_url = "http://www.rust-lang.org/favicon.ico",
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
-#![allow(unknown_features)]
-#![feature(macro_rules, phase, slicing_syntax)]
+#![feature(macro_rules, phase)]
 #![allow(missing_doc)]
 
 extern crate serialize;
diff --git a/src/libregex/lib.rs b/src/libregex/lib.rs
index fdfd8c1eae2..9ff65fe3e2a 100644
--- a/src/libregex/lib.rs
+++ b/src/libregex/lib.rs
@@ -368,8 +368,7 @@
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
 
-#![allow(unknown_features)]
-#![feature(macro_rules, phase, slicing_syntax)]
+#![feature(macro_rules, phase)]
 #![deny(missing_doc)]
 
 #[cfg(test)]
diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs
index e38f1f24f01..b807be422be 100644
--- a/src/librustc/lib.rs
+++ b/src/librustc/lib.rs
@@ -29,9 +29,8 @@ This API is completely unstable and subject to change.
       html_root_url = "http://doc.rust-lang.org/master/")]
 
 #![allow(deprecated)]
-#![allow(unknown_features)]
 #![feature(macro_rules, globs, struct_variant, quote)]
-#![feature(default_type_params, phase, unsafe_destructor, slicing_syntax)]
+#![feature(default_type_params, phase, unsafe_destructor)]
 
 #![feature(rustc_diagnostic_macros)]
 #![feature(import_shadowing)]
diff --git a/src/librustc_back/lib.rs b/src/librustc_back/lib.rs
index 6486442deb8..e48f9df7564 100644
--- a/src/librustc_back/lib.rs
+++ b/src/librustc_back/lib.rs
@@ -31,8 +31,7 @@
       html_favicon_url = "http://www.rust-lang.org/favicon.ico",
       html_root_url = "http://doc.rust-lang.org/")]
 
-#![allow(unknown_features)]
-#![feature(globs, phase, macro_rules, slicing_syntax)]
+#![feature(globs, phase, macro_rules)]
 
 #[phase(plugin, link)]
 extern crate log;
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index b46d8727b69..71d00e50af8 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -15,8 +15,7 @@
 #![crate_type = "dylib"]
 #![crate_type = "rlib"]
 
-#![allow(unknown_features)]
-#![feature(globs, struct_variant, managed_boxes, macro_rules, phase, slicing_syntax)]
+#![feature(globs, struct_variant, managed_boxes, macro_rules, phase)]
 
 extern crate arena;
 extern crate debug;
diff --git a/src/librustrt/lib.rs b/src/librustrt/lib.rs
index 1183b14fb4e..72c7d89a3b9 100644
--- a/src/librustrt/lib.rs
+++ b/src/librustrt/lib.rs
@@ -16,10 +16,9 @@
        html_favicon_url = "http://www.rust-lang.org/favicon.ico",
        html_root_url = "http://doc.rust-lang.org/master/")]
 
-#![allow(unknown_features)]
 #![feature(macro_rules, phase, globs, thread_local, managed_boxes, asm)]
 #![feature(linkage, lang_items, unsafe_destructor, default_type_params)]
-#![feature(import_shadowing, slicing_syntax)]
+#![feature(import_shadowing)]
 #![no_std]
 #![experimental]
 
diff --git a/src/libserialize/lib.rs b/src/libserialize/lib.rs
index 8c2f3235322..5c35ad85233 100644
--- a/src/libserialize/lib.rs
+++ b/src/libserialize/lib.rs
@@ -23,8 +23,7 @@ Core encoding and decoding interfaces.
        html_favicon_url = "http://www.rust-lang.org/favicon.ico",
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
-#![allow(unknown_features)]
-#![feature(macro_rules, managed_boxes, default_type_params, phase, slicing_syntax)]
+#![feature(macro_rules, managed_boxes, default_type_params, phase)]
 
 // test harness access
 #[cfg(test)]
diff --git a/src/libstd/io/net/udp.rs b/src/libstd/io/net/udp.rs
index b8fb187548c..4dd6f448ee5 100644
--- a/src/libstd/io/net/udp.rs
+++ b/src/libstd/io/net/udp.rs
@@ -35,29 +35,26 @@ use rt::rtio;
 ///
 /// ```rust,no_run
 /// # #![allow(unused_must_use)]
-/// #![feature(slicing_syntax)]
-///
 /// use std::io::net::udp::UdpSocket;
 /// use std::io::net::ip::{Ipv4Addr, SocketAddr};
-/// fn main() {
-///     let addr = SocketAddr { ip: Ipv4Addr(127, 0, 0, 1), port: 34254 };
-///     let mut socket = match UdpSocket::bind(addr) {
-///         Ok(s) => s,
-///         Err(e) => fail!("couldn't bind socket: {}", e),
-///     };
 ///
-///     let mut buf = [0, ..10];
-///     match socket.recv_from(buf) {
-///         Ok((amt, src)) => {
-///             // Send a reply to the socket we received data from
-///             let buf = buf[mut ..amt];
-///             buf.reverse();
-///             socket.send_to(buf, src);
-///         }
-///         Err(e) => println!("couldn't receive a datagram: {}", e)
+/// let addr = SocketAddr { ip: Ipv4Addr(127, 0, 0, 1), port: 34254 };
+/// let mut socket = match UdpSocket::bind(addr) {
+///     Ok(s) => s,
+///     Err(e) => fail!("couldn't bind socket: {}", e),
+/// };
+///
+/// let mut buf = [0, ..10];
+/// match socket.recv_from(buf) {
+///     Ok((amt, src)) => {
+///         // Send a reply to the socket we received data from
+///         let buf = buf[mut ..amt];
+///         buf.reverse();
+///         socket.send_to(buf, src);
 ///     }
-///     drop(socket); // close the socket
+///     Err(e) => println!("couldn't receive a datagram: {}", e)
 /// }
+/// drop(socket); // close the socket
 /// ```
 pub struct UdpSocket {
     obj: Box<RtioUdpSocket + Send>,
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index 82de55efad6..7304871cf21 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -105,10 +105,9 @@
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
 
-#![allow(unknown_features)]
 #![feature(macro_rules, globs, managed_boxes, linkage)]
 #![feature(default_type_params, phase, lang_items, unsafe_destructor)]
-#![feature(import_shadowing, slicing_syntax)]
+#![feature(import_shadowing)]
 
 // Don't link to std. We are std.
 #![no_std]
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 38de2a9c284..ca6d488772c 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -70,7 +70,6 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
     ("tuple_indexing", Active),
     ("associated_types", Active),
     ("visible_private_types", Active),
-    ("slicing_syntax", Active),
 
     ("if_let", Active),
 
@@ -363,11 +362,6 @@ impl<'a, 'v> Visitor<'v> for Context<'a> {
                 self.gate_feature("if_let", e.span,
                                   "`if let` syntax is experimental");
             }
-            ast::ExprSlice(..) => {
-                self.gate_feature("slicing_syntax",
-                                  e.span,
-                                  "slicing syntax is experimental");
-            }
             _ => {}
         }
         visit::walk_expr(self, e);
diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs
index 64dedd45923..a4271544146 100644
--- a/src/libsyntax/lib.rs
+++ b/src/libsyntax/lib.rs
@@ -23,8 +23,7 @@
        html_favicon_url = "http://www.rust-lang.org/favicon.ico",
        html_root_url = "http://doc.rust-lang.org/master/")]
 
-#![allow(unknown_features)]
-#![feature(macro_rules, globs, default_type_params, phase, slicing_syntax)]
+#![feature(macro_rules, globs, default_type_params, phase)]
 #![feature(quote, struct_variant, unsafe_destructor, import_shadowing)]
 #![allow(deprecated)]
 
diff --git a/src/libterm/lib.rs b/src/libterm/lib.rs
index b05e0a4bff3..3fc631422d5 100644
--- a/src/libterm/lib.rs
+++ b/src/libterm/lib.rs
@@ -49,8 +49,7 @@
        html_root_url = "http://doc.rust-lang.org/master/",
        html_playground_url = "http://play.rust-lang.org/")]
 
-#![allow(unknown_features)]
-#![feature(macro_rules, phase, slicing_syntax)]
+#![feature(macro_rules, phase)]
 
 #![deny(missing_doc)]
 
diff --git a/src/test/bench/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs
index b4292c2b050..1260cc33725 100644
--- a/src/test/bench/shootout-fannkuch-redux.rs
+++ b/src/test/bench/shootout-fannkuch-redux.rs
@@ -38,8 +38,6 @@
 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 // OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#![feature(slicing_syntax)]
-
 use std::{cmp, iter, mem};
 use std::sync::Future;
 
diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs
index b8af76ce17c..3f8c929aecf 100644
--- a/src/test/bench/shootout-fasta-redux.rs
+++ b/src/test/bench/shootout-fasta-redux.rs
@@ -38,8 +38,6 @@
 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 // OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#![feature(slicing_syntax)]
-
 use std::cmp::min;
 use std::io::{stdout, IoResult};
 use std::os;
diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs
index 7565525bc8c..ed8ddcaa0ed 100644
--- a/src/test/bench/shootout-fasta.rs
+++ b/src/test/bench/shootout-fasta.rs
@@ -38,8 +38,6 @@
 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 // OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#![feature(slicing_syntax)]
-
 use std::io;
 use std::io::{BufferedWriter, File};
 use std::cmp::min;
diff --git a/src/test/bench/shootout-k-nucleotide-pipes.rs b/src/test/bench/shootout-k-nucleotide-pipes.rs
index 86c1bd82e9f..80d623bbeb1 100644
--- a/src/test/bench/shootout-k-nucleotide-pipes.rs
+++ b/src/test/bench/shootout-k-nucleotide-pipes.rs
@@ -13,8 +13,6 @@
 
 // multi tasking k-nucleotide
 
-#![feature(slicing_syntax)]
-
 extern crate collections;
 
 use std::collections::HashMap;
diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs
index 8c08fc4caa1..70fd937d2a3 100644
--- a/src/test/bench/shootout-k-nucleotide.rs
+++ b/src/test/bench/shootout-k-nucleotide.rs
@@ -40,8 +40,6 @@
 
 // ignore-android see #10393 #13206
 
-#![feature(slicing_syntax)]
-
 use std::string::String;
 use std::slice;
 use std::sync::{Arc, Future};
diff --git a/src/test/bench/shootout-regex-dna.rs b/src/test/bench/shootout-regex-dna.rs
index dccdafe9cf8..0adb80c2689 100644
--- a/src/test/bench/shootout-regex-dna.rs
+++ b/src/test/bench/shootout-regex-dna.rs
@@ -41,7 +41,7 @@
 // ignore-stage1
 // ignore-cross-compile #12102
 
-#![feature(macro_rules, phase, slicing_syntax)]
+#![feature(macro_rules, phase)]
 
 extern crate regex;
 #[phase(plugin)]extern crate regex_macros;
diff --git a/src/test/bench/shootout-reverse-complement.rs b/src/test/bench/shootout-reverse-complement.rs
index e3fa6334f77..e5f22a3d07c 100644
--- a/src/test/bench/shootout-reverse-complement.rs
+++ b/src/test/bench/shootout-reverse-complement.rs
@@ -41,8 +41,6 @@
 // ignore-pretty very bad with line comments
 // ignore-android doesn't terminate?
 
-#![feature(slicing_syntax)]
-
 use std::iter::range_step;
 use std::io::{stdin, stdout, File};
 
diff --git a/src/test/compile-fail/issue-15730.rs b/src/test/compile-fail/issue-15730.rs
index c29e74af03c..fc8c4e36075 100644
--- a/src/test/compile-fail/issue-15730.rs
+++ b/src/test/compile-fail/issue-15730.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(slicing_syntax)]
-
 fn main() {
     let mut array = [1, 2, 3];
 //~^ ERROR cannot determine a type for this local variable: cannot determine the type of this integ
diff --git a/src/test/compile-fail/slice-2.rs b/src/test/compile-fail/slice-2.rs
index 63f79c808ae..fbfc438321c 100644
--- a/src/test/compile-fail/slice-2.rs
+++ b/src/test/compile-fail/slice-2.rs
@@ -10,8 +10,6 @@
 
 // Test that slicing syntax gives errors if we have not implemented the trait.
 
-#![feature(slicing_syntax)]
-
 struct Foo;
 
 fn main() {
diff --git a/src/test/compile-fail/slice-borrow.rs b/src/test/compile-fail/slice-borrow.rs
index 00783b71ea1..3d12511134f 100644
--- a/src/test/compile-fail/slice-borrow.rs
+++ b/src/test/compile-fail/slice-borrow.rs
@@ -10,8 +10,6 @@
 
 // Test slicing expressions doesn't defeat the borrow checker.
 
-#![feature(slicing_syntax)]
-
 fn main() {
     let y;
     {
diff --git a/src/test/compile-fail/slice-mut-2.rs b/src/test/compile-fail/slice-mut-2.rs
index 09019448a67..1176b637cec 100644
--- a/src/test/compile-fail/slice-mut-2.rs
+++ b/src/test/compile-fail/slice-mut-2.rs
@@ -10,8 +10,6 @@
 
 // Test mutability and slicing syntax.
 
-#![feature(slicing_syntax)]
-
 fn main() {
     let x: &[int] = &[1, 2, 3, 4, 5];
     // Can't mutably slice an immutable slice
diff --git a/src/test/compile-fail/slice-mut.rs b/src/test/compile-fail/slice-mut.rs
index cbfa3ed85fd..8cd7c4ed0bb 100644
--- a/src/test/compile-fail/slice-mut.rs
+++ b/src/test/compile-fail/slice-mut.rs
@@ -10,8 +10,6 @@
 
 // Test mutability and slicing syntax.
 
-#![feature(slicing_syntax)]
-
 fn main() {
     let x: &[int] = &[1, 2, 3, 4, 5];
     // Immutable slices are not mutable.
diff --git a/src/test/debuginfo/vec-slices.rs b/src/test/debuginfo/vec-slices.rs
index 67e621fe556..392a025b1f0 100644
--- a/src/test/debuginfo/vec-slices.rs
+++ b/src/test/debuginfo/vec-slices.rs
@@ -80,7 +80,6 @@
 // lldb-check:[...]$5 = &[AStruct { x: 10, y: 11, z: 12 }, AStruct { x: 13, y: 14, z: 15 }]
 
 #![allow(unused_variable)]
-#![feature(slicing_syntax)]
 
 struct AStruct {
     x: i16,
diff --git a/src/test/run-pass/issue-3888-2.rs b/src/test/run-pass/issue-3888-2.rs
index 10add853ee7..20629673619 100644
--- a/src/test/run-pass/issue-3888-2.rs
+++ b/src/test/run-pass/issue-3888-2.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(slicing_syntax)]
-
 fn vec_peek<'r, T>(v: &'r [T]) -> &'r [T] {
     v[1..5]
 }
diff --git a/src/test/run-pass/issue-4464.rs b/src/test/run-pass/issue-4464.rs
index f2c1a715b51..0f3f9149536 100644
--- a/src/test/run-pass/issue-4464.rs
+++ b/src/test/run-pass/issue-4464.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(slicing_syntax)]
-
 fn broken(v: &[u8], i: uint, j: uint) -> &[u8] { v[i..j] }
 
 pub fn main() {}
diff --git a/src/test/run-pass/issue-8898.rs b/src/test/run-pass/issue-8898.rs
index f2dcaa4a31e..1838f34a9ab 100644
--- a/src/test/run-pass/issue-8898.rs
+++ b/src/test/run-pass/issue-8898.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(slicing_syntax)]
 
 extern crate debug;
 
diff --git a/src/test/run-pass/slice-2.rs b/src/test/run-pass/slice-2.rs
index 768c28cb8de..3c0933a055c 100644
--- a/src/test/run-pass/slice-2.rs
+++ b/src/test/run-pass/slice-2.rs
@@ -10,8 +10,6 @@
 
 // Test slicing expressions on slices and Vecs.
 
-#![feature(slicing_syntax)]
-
 fn main() {
     let x: &[int] = &[1, 2, 3, 4, 5];
     let cmp: &[int] = &[1, 2, 3, 4, 5];
diff --git a/src/test/run-pass/slice-fail-1.rs b/src/test/run-pass/slice-fail-1.rs
index b07cf595968..f6972023a72 100644
--- a/src/test/run-pass/slice-fail-1.rs
+++ b/src/test/run-pass/slice-fail-1.rs
@@ -10,8 +10,6 @@
 
 // Test that is a slicing expr[..] fails, the correct cleanups happen.
 
-#![feature(slicing_syntax)]
-
 use std::task;
 
 struct Foo;
diff --git a/src/test/run-pass/slice-fail-2.rs b/src/test/run-pass/slice-fail-2.rs
index a2aecc1d5cd..cbe65fcd83d 100644
--- a/src/test/run-pass/slice-fail-2.rs
+++ b/src/test/run-pass/slice-fail-2.rs
@@ -10,8 +10,6 @@
 
 // Test that is a slicing expr[..] fails, the correct cleanups happen.
 
-#![feature(slicing_syntax)]
-
 use std::task;
 
 struct Foo;
diff --git a/src/test/run-pass/slice.rs b/src/test/run-pass/slice.rs
index 2b4251b4089..661ff055dc2 100644
--- a/src/test/run-pass/slice.rs
+++ b/src/test/run-pass/slice.rs
@@ -10,8 +10,6 @@
 
 // Test slicing sugar.
 
-#![feature(slicing_syntax)]
-
 extern crate core;
 use core::ops::{Slice,SliceMut};