]> git.lizzy.rs Git - rust.git/commitdiff
Revert "Stabilize `Iterator::intersperse()`"
authorJane Lusby <jlusby42@gmail.com>
Thu, 7 Oct 2021 17:39:36 +0000 (10:39 -0700)
committerGitHub <noreply@github.com>
Thu, 7 Oct 2021 17:39:36 +0000 (10:39 -0700)
library/core/src/iter/adapters/intersperse.rs
library/core/src/iter/adapters/mod.rs
library/core/src/iter/mod.rs
library/core/src/iter/traits/iterator.rs
library/core/tests/lib.rs
src/librustdoc/lib.rs

index bd21872e1ad4bcf7fea3e64c30cc556dd7d63996..d8bbd424cf2587d6a16abc08d168fcd585b99377 100644 (file)
@@ -4,7 +4,7 @@
 ///
 /// This `struct` is created by [`Iterator::intersperse`]. See its documentation
 /// for more information.
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 #[derive(Debug, Clone)]
 pub struct Intersperse<I: Iterator>
 where
@@ -24,7 +24,7 @@ pub(in crate::iter) fn new(iter: I, separator: I::Item) -> Self {
     }
 }
 
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 impl<I> Iterator for Intersperse<I>
 where
     I: Iterator,
@@ -61,7 +61,7 @@ fn size_hint(&self) -> (usize, Option<usize>) {
 ///
 /// This `struct` is created by [`Iterator::intersperse_with`]. See its
 /// documentation for more information.
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 pub struct IntersperseWith<I, G>
 where
     I: Iterator,
@@ -71,7 +71,7 @@ pub struct IntersperseWith<I, G>
     needs_sep: bool,
 }
 
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 impl<I, G> crate::fmt::Debug for IntersperseWith<I, G>
 where
     I: Iterator + crate::fmt::Debug,
@@ -87,7 +87,7 @@ fn fmt(&self, f: &mut crate::fmt::Formatter<'_>) -> crate::fmt::Result {
     }
 }
 
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 impl<I, G> crate::clone::Clone for IntersperseWith<I, G>
 where
     I: Iterator + crate::clone::Clone,
@@ -113,7 +113,7 @@ pub(in crate::iter) fn new(iter: I, separator: G) -> Self {
     }
 }
 
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 impl<I, G> Iterator for IntersperseWith<I, G>
 where
     I: Iterator,
index 1e1ce866ff3f29083eb7d15fab2e40c94d8ab2ed..9e1f4e425f9e3391d4506ee7f11047a82c6cca01 100644 (file)
@@ -42,7 +42,7 @@
 #[stable(feature = "iter_copied", since = "1.36.0")]
 pub use self::copied::Copied;
 
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 pub use self::intersperse::{Intersperse, IntersperseWith};
 
 #[stable(feature = "iter_map_while", since = "1.57.0")]
index 39c0b1b522c11fbe79fc33b296387a3de135b525..dc32df4e2b41541e1e147ec5f7e62db2f203c4d7 100644 (file)
     Chain, Cycle, Enumerate, Filter, FilterMap, FlatMap, Fuse, Inspect, Map, Peekable, Rev, Scan,
     Skip, SkipWhile, Take, TakeWhile, Zip,
 };
-#[stable(feature = "iter_intersperse", since = "1.56.0")]
+#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
 pub use self::adapters::{Intersperse, IntersperseWith};
 
 pub(crate) use self::adapters::process_results;
index e6b6aec7d943103353f03dd356911b5bda2d85bc..8f9b32e775056902bb029f62def994a445faf001 100644 (file)
@@ -539,6 +539,8 @@ fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>
     /// Basic usage:
     ///
     /// ```
+    /// #![feature(iter_intersperse)]
+    ///
     /// let mut a = [0, 1, 2].iter().intersperse(&100);
     /// assert_eq!(a.next(), Some(&0));   // The first element from `a`.
     /// assert_eq!(a.next(), Some(&100)); // The separator.
@@ -549,8 +551,9 @@ fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>
     /// ```
     ///
     /// `intersperse` can be very useful to join an iterator's items using a common element:
-    ///
     /// ```
+    /// #![feature(iter_intersperse)]
+    ///
     /// let hello = ["Hello", "World", "!"].iter().copied().intersperse(" ").collect::<String>();
     /// assert_eq!(hello, "Hello World !");
     /// ```
@@ -558,7 +561,7 @@ fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>
     /// [`Clone`]: crate::clone::Clone
     /// [`intersperse_with`]: Iterator::intersperse_with
     #[inline]
-    #[stable(feature = "iter_intersperse", since = "1.56.0")]
+    #[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
     fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
     where
         Self: Sized,
@@ -583,6 +586,8 @@ fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
     /// Basic usage:
     ///
     /// ```
+    /// #![feature(iter_intersperse)]
+    ///
     /// #[derive(PartialEq, Debug)]
     /// struct NotClone(usize);
     ///
@@ -599,8 +604,9 @@ fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
     ///
     /// `intersperse_with` can be used in situations where the separator needs
     /// to be computed:
-    ///
     /// ```
+    /// #![feature(iter_intersperse)]
+    ///
     /// let src = ["Hello", "to", "all", "people", "!!"].iter().copied();
     ///
     /// // The closure mutably borrows its context to generate an item.
@@ -613,7 +619,7 @@ fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
     /// [`Clone`]: crate::clone::Clone
     /// [`intersperse`]: Iterator::intersperse
     #[inline]
-    #[stable(feature = "iter_intersperse", since = "1.56.0")]
+    #[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
     fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
     where
         Self: Sized,
index cd3aed4cd28f81a7d90c9f7fc15cfb2a99d97d19..0673564dd5c4af6781fedd74b55dd64ea423a75b 100644 (file)
@@ -48,6 +48,7 @@
 #![feature(int_log)]
 #![feature(iter_advance_by)]
 #![feature(iter_partition_in_place)]
+#![feature(iter_intersperse)]
 #![feature(iter_is_partitioned)]
 #![feature(iter_order_by)]
 #![feature(const_mut_refs)]
index efc8e31498a9c9c50d09fa75ddf1eb049e03f876..ff0a6ef6cb74fa8296a7f2e92bda8608cd9cf7e3 100644 (file)
@@ -15,6 +15,7 @@
 #![feature(never_type)]
 #![feature(once_cell)]
 #![feature(type_ascription)]
+#![feature(iter_intersperse)]
 #![recursion_limit = "256"]
 #![warn(rustc::internal)]