From 95cfc35607ccf5f02f02de56a35a9ef50fa23a82 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Fri, 26 Sep 2014 17:48:16 +1200 Subject: Put slicing syntax behind a feature gate. [breaking-change] If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate. --- src/libcore/lib.rs | 3 ++- src/libcore/ops.rs | 6 +++--- src/libcore/slice.rs | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/libcore') diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index 7e2ea492d4c..4890dc2bb73 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -57,8 +57,9 @@ 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)] +#![feature(simd, unsafe_destructor, slicing_syntax)] #![deny(missing_doc)] mod macros; diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs index 77cee2b9863..422c496995b 100644 --- a/src/libcore/ops.rs +++ b/src/libcore/ops.rs @@ -684,7 +684,7 @@ pub trait IndexMut { * 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 for Foo { @@ -749,7 +749,7 @@ pub trait Slice 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 for Foo { @@ -771,7 +771,7 @@ pub trait Slice for Sized? { * } * } * - * fn main() { + * pub fn main() { * Foo[mut Foo..]; * } * ``` diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index 68b3a3199df..2ff0fd2ef00 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.slice_mut(1, len) + self[mut 1..len] } #[inline] fn init_mut(self) -> &'a mut [T] { let len = self.len(); - self.slice_mut(0, len - 1) + self[mut 0..len - 1] } #[inline] -- cgit 1.4.1-3-g733a5