diff --git a/src/libcollections/binary_heap.rs b/src/libcollections/binary_heap.rs index 1d994839d99..2a701e67c53 100644 --- a/src/libcollections/binary_heap.rs +++ b/src/libcollections/binary_heap.rs @@ -666,6 +666,7 @@ impl IntoIterator for BinaryHeap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for BinaryHeap { type Item = T; type IntoIter = IntoIter; @@ -686,6 +687,7 @@ impl<'a, T> IntoIterator for &'a BinaryHeap where T: Ord { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a BinaryHeap where T: Ord { type Item = &'a T; type IntoIter = Iter<'a, T>; diff --git a/src/libcollections/bit.rs b/src/libcollections/bit.rs index ca598a8d4d2..df1a3416602 100644 --- a/src/libcollections/bit.rs +++ b/src/libcollections/bit.rs @@ -1081,6 +1081,7 @@ impl<'a> IntoIterator for &'a Bitv { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a> IntoIterator for &'a Bitv { type Item = bool; type IntoIter = Iter<'a>; @@ -1905,6 +1906,7 @@ impl<'a> IntoIterator for &'a BitvSet { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a> IntoIterator for &'a BitvSet { type Item = usize; type IntoIter = SetIter<'a>; diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index 84f9825e989..a0c1c2d1854 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -473,6 +473,7 @@ impl IntoIterator for BTreeMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for BTreeMap { type Item = (K, V); type IntoIter = IntoIter; @@ -493,6 +494,7 @@ impl<'a, K, V> IntoIterator for &'a BTreeMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> IntoIterator for &'a BTreeMap { type Item = (&'a K, &'a V); type IntoIter = Iter<'a, K, V>; @@ -513,6 +515,7 @@ impl<'a, K, V> IntoIterator for &'a mut BTreeMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> IntoIterator for &'a mut BTreeMap { type Item = (&'a K, &'a mut V); type IntoIter = IterMut<'a, K, V>; diff --git a/src/libcollections/btree/set.rs b/src/libcollections/btree/set.rs index aecf5940311..8ac1b97de25 100644 --- a/src/libcollections/btree/set.rs +++ b/src/libcollections/btree/set.rs @@ -491,6 +491,7 @@ impl IntoIterator for BTreeSet { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for BTreeSet { type Item = T; type IntoIter = IntoIter; @@ -511,6 +512,7 @@ impl<'a, T> IntoIterator for &'a BTreeSet { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a BTreeSet { type Item = &'a T; type IntoIter = Iter<'a, T>; diff --git a/src/libcollections/dlist.rs b/src/libcollections/dlist.rs index 27b282ee9a9..42c44c0d5c1 100644 --- a/src/libcollections/dlist.rs +++ b/src/libcollections/dlist.rs @@ -848,6 +848,7 @@ impl IntoIterator for DList { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for DList { type Item = T; type IntoIter = IntoIter; @@ -868,6 +869,7 @@ impl<'a, T> IntoIterator for &'a DList { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a DList { type Item = &'a T; type IntoIter = Iter<'a, T>; diff --git a/src/libcollections/enum_set.rs b/src/libcollections/enum_set.rs index 5c37be188fe..ec30933bd2e 100644 --- a/src/libcollections/enum_set.rs +++ b/src/libcollections/enum_set.rs @@ -268,6 +268,7 @@ impl<'a, E> IntoIterator for &'a EnumSet where E: CLike { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, E> IntoIterator for &'a EnumSet where E: CLike { type Item = E; type IntoIter = Iter; diff --git a/src/libcollections/ring_buf.rs b/src/libcollections/ring_buf.rs index 0a4ccde9236..29ebb8963ba 100644 --- a/src/libcollections/ring_buf.rs +++ b/src/libcollections/ring_buf.rs @@ -1710,6 +1710,7 @@ impl IntoIterator for RingBuf { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for RingBuf { type Item = T; type IntoIter = IntoIter; @@ -1730,6 +1731,7 @@ impl<'a, T> IntoIterator for &'a RingBuf { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a RingBuf { type Item = &'a T; type IntoIter = Iter<'a, T>; @@ -1750,6 +1752,7 @@ impl<'a, T> IntoIterator for &'a mut RingBuf { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a mut RingBuf { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index f294dd3c3e0..92df05d6ed4 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -1425,6 +1425,7 @@ impl IntoIterator for Vec { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for Vec { type Item = T; type IntoIter = IntoIter; @@ -1445,6 +1446,7 @@ impl<'a, T> IntoIterator for &'a Vec { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a Vec { type Item = &'a T; type IntoIter = slice::Iter<'a, T>; @@ -1465,6 +1467,7 @@ impl<'a, T> IntoIterator for &'a mut Vec { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a mut Vec { type Item = &'a mut T; type IntoIter = slice::IterMut<'a, T>; diff --git a/src/libcollections/vec_map.rs b/src/libcollections/vec_map.rs index 7f9484c58a1..7a2194f8110 100644 --- a/src/libcollections/vec_map.rs +++ b/src/libcollections/vec_map.rs @@ -679,6 +679,7 @@ impl IntoIterator for VecMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for VecMap { type Item = (usize, T); type IntoIter = IntoIter; @@ -699,6 +700,7 @@ impl<'a, T> IntoIterator for &'a VecMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a VecMap { type Item = (usize, &'a T); type IntoIter = Iter<'a, T>; @@ -719,6 +721,7 @@ impl<'a, T> IntoIterator for &'a mut VecMap { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a mut VecMap { type Item = (usize, &'a mut T); type IntoIter = IterMut<'a, T>; diff --git a/src/libcore/array.rs b/src/libcore/array.rs index abaa7594d04..886893e647e 100644 --- a/src/libcore/array.rs +++ b/src/libcore/array.rs @@ -59,6 +59,7 @@ macro_rules! array_impls { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot + #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a [T; $N] { type Item = &'a T; type IntoIter = Iter<'a, T>; @@ -79,6 +80,7 @@ macro_rules! array_impls { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot + #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a mut [T; $N] { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 1d22dda2ece..2960c310386 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -131,8 +131,12 @@ pub trait IntoIterator { #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot /// Conversion into an `Iterator` +#[stable(feature = "rust1", since = "1.0.0")] pub trait IntoIterator { + #[stable(feature = "rust1", since = "1.0.0")] type Item; + + #[stable(feature = "rust1", since = "1.0.0")] type IntoIter: Iterator; /// Consumes `Self` and returns an iterator over it @@ -151,6 +155,7 @@ impl IntoIterator for I where I: Iterator { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for I { type Item = I::Item; type IntoIter = I; diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index cd91843f359..ded76f51b07 100644 --- a/src/libcore/slice.rs +++ b/src/libcore/slice.rs @@ -637,6 +637,7 @@ impl<'a, T> IntoIterator for &'a [T] { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a [T] { type Item = &'a T; type IntoIter = Iter<'a, T>; @@ -657,6 +658,7 @@ impl<'a, T> IntoIterator for &'a mut [T] { } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> IntoIterator for &'a mut [T] { type Item = &'a mut T; type IntoIter = IterMut<'a, T>; diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index 241e409910f..e11bcec150c 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -1387,6 +1387,7 @@ impl<'a, K, V, S, H> IntoIterator for &'a HashMap } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V, S, H> IntoIterator for &'a HashMap where K: Eq + Hash, S: HashState, @@ -1415,6 +1416,7 @@ impl<'a, K, V, S, H> IntoIterator for &'a mut HashMap } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V, S, H> IntoIterator for &'a mut HashMap where K: Eq + Hash, S: HashState, @@ -1443,6 +1445,7 @@ impl IntoIterator for HashMap } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for HashMap where K: Eq + Hash, S: HashState, diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index 300e2089317..fb01dc89e68 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -850,6 +850,7 @@ impl<'a, T, S, H> IntoIterator for &'a HashSet } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl<'a, T, S, H> IntoIterator for &'a HashSet where T: Eq + Hash, S: HashState, @@ -878,6 +879,7 @@ impl IntoIterator for HashSet } #[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +#[stable(feature = "rust1", since = "1.0.0")] impl IntoIterator for HashSet where T: Eq + Hash, S: HashState,