From b9ab5fe7c29d0675ae03c87f1454fb52b36c18b4 Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Tue, 31 Mar 2015 13:47:57 -0700 Subject: [PATCH] Stabilize a few remaining stragglers * The `io::Seek` trait, and `SeekFrom` enum. * The `Iterator::{partition, unsip}` methods. * The `Vec::into_boxed_slice` method. * The `LinkedList::append` method. * The `{or_insert, or_insert_with` methods in the `Entry` APIs. --- src/libcollections/btree/map.rs | 6 ++---- src/libcollections/linked_list.rs | 1 + src/libcollections/vec.rs | 2 +- src/libcore/iter.rs | 5 ++--- src/libstd/collections/hash/map.rs | 6 ++---- src/libstd/io/mod.rs | 10 ++++++---- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index e1d007f0ac4..adfb284dabe 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -1134,8 +1134,7 @@ impl<'a, K: Ord, V> Entry<'a, K, V> { } } - #[unstable(feature = "collections", - reason = "matches entry v3 specification, waiting for dust to settle")] + #[stable(feature = "rust1", since = "1.0.0")] /// Ensures a value is in the entry by inserting the default if empty, and returns /// a mutable reference to the value in the entry. pub fn or_insert(self, default: V) -> &'a mut V { @@ -1145,8 +1144,7 @@ impl<'a, K: Ord, V> Entry<'a, K, V> { } } - #[unstable(feature = "collections", - reason = "matches entry v3 specification, waiting for dust to settle")] + #[stable(feature = "rust1", since = "1.0.0")] /// Ensures a value is in the entry by inserting the result of the default function if empty, /// and returns a mutable reference to the value in the entry. pub fn or_insert_with V>(self, default: F) -> &'a mut V { diff --git a/src/libcollections/linked_list.rs b/src/libcollections/linked_list.rs index 52da4902b75..97512cbe7cc 100644 --- a/src/libcollections/linked_list.rs +++ b/src/libcollections/linked_list.rs @@ -252,6 +252,7 @@ impl LinkedList { /// } /// println!("{}", b.len()); // prints 0 /// ``` + #[stable(feature = "rust1", since = "1.0.0")] pub fn append(&mut self, other: &mut LinkedList) { match self.list_tail.resolve() { None => { diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index 3595288a6c9..7fdf5b4151d 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -389,7 +389,7 @@ impl Vec { /// Note that this will drop any excess capacity. Calling this and /// converting back to a vector with `into_vec()` is equivalent to calling /// `shrink_to_fit()`. - #[unstable(feature = "collections")] + #[stable(feature = "rust1", since = "1.0.0")] pub fn into_boxed_slice(mut self) -> Box<[T]> { self.shrink_to_fit(); unsafe { diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 44d48f9f4bf..18e1b9dde48 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -553,8 +553,7 @@ pub trait Iterator { /// assert_eq!(even, [2, 4]); /// assert_eq!(odd, [1, 3]); /// ``` - #[unstable(feature = "core", - reason = "recently added as part of collections reform")] + #[stable(feature = "rust1", since = "1.0.0")] fn partition(self, mut f: F) -> (B, B) where Self: Sized, B: Default + Extend, @@ -930,7 +929,7 @@ pub trait Iterator { /// assert_eq!([1, 3], left); /// assert_eq!([2, 4], right); /// ``` - #[unstable(feature = "core", reason = "recent addition")] + #[stable(feature = "rust1", since = "1.0.0")] fn unzip(self) -> (FromA, FromB) where FromA: Default + Extend, FromB: Default + Extend, diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index bc0f109de15..a636c1a812d 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -1482,8 +1482,7 @@ impl<'a, K, V> Entry<'a, K, V> { } } - #[unstable(feature = "collections", - reason = "matches entry v3 specification, waiting for dust to settle")] + #[stable(feature = "rust1", since = "1.0.0")] /// Ensures a value is in the entry by inserting the default if empty, and returns /// a mutable reference to the value in the entry. pub fn or_insert(self, default: V) -> &'a mut V { @@ -1493,8 +1492,7 @@ impl<'a, K, V> Entry<'a, K, V> { } } - #[unstable(feature = "collections", - reason = "matches entry v3 specification, waiting for dust to settle")] + #[stable(feature = "rust1", since = "1.0.0")] /// Ensures a value is in the entry by inserting the result of the default function if empty, /// and returns a mutable reference to the value in the entry. pub fn or_insert_with V>(self, default: F) -> &'a mut V { diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs index 830a88bb6c9..0e379b5ab43 100644 --- a/src/libstd/io/mod.rs +++ b/src/libstd/io/mod.rs @@ -441,9 +441,7 @@ pub trait Write { /// /// The stream typically has a fixed size, allowing seeking relative to either /// end or the current offset. -#[unstable(feature = "io", reason = "the central `seek` method may be split \ - into multiple methods instead of taking \ - an enum as an argument")] +#[stable(feature = "rust1", since = "1.0.0")] pub trait Seek { /// Seek to an offset, in bytes, in a stream /// @@ -459,14 +457,16 @@ pub trait Seek { /// # Errors /// /// Seeking to a negative offset is considered an error + #[stable(feature = "rust1", since = "1.0.0")] fn seek(&mut self, pos: SeekFrom) -> Result; } /// Enumeration of possible methods to seek within an I/O object. #[derive(Copy, PartialEq, Eq, Clone, Debug)] -#[unstable(feature = "io", reason = "awaiting the stability of Seek")] +#[stable(feature = "rust1", since = "1.0.0")] pub enum SeekFrom { /// Set the offset to the provided number of bytes. + #[stable(feature = "rust1", since = "1.0.0")] Start(u64), /// Set the offset to the size of this object plus the specified number of @@ -474,6 +474,7 @@ pub enum SeekFrom { /// /// It is possible to seek beyond the end of an object, but is an error to /// seek before byte 0. + #[stable(feature = "rust1", since = "1.0.0")] End(i64), /// Set the offset to the current position plus the specified number of @@ -481,6 +482,7 @@ pub enum SeekFrom { /// /// It is possible to seek beyond the end of an object, but is an error to /// seek before byte 0. + #[stable(feature = "rust1", since = "1.0.0")] Current(i64), }