Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 6689493

Browse files
yaahccuviper
authored andcommitted
Revert "Stabilize Iterator::intersperse()"
(cherry picked from commit 8965b58)
1 parent 79afdb0 commit 6689493

File tree

6 files changed

+20
-12
lines changed

6 files changed

+20
-12
lines changed

library/core/src/iter/adapters/intersperse.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use super::Peekable;
44
///
55
/// This `struct` is created by [`Iterator::intersperse`]. See its documentation
66
/// for more information.
7-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
7+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
88
#[derive(Debug, Clone)]
99
pub struct Intersperse<I: Iterator>
1010
where
@@ -24,7 +24,7 @@ where
2424
}
2525
}
2626

27-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
27+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
2828
impl<I> Iterator for Intersperse<I>
2929
where
3030
I: Iterator,
@@ -61,7 +61,7 @@ where
6161
///
6262
/// This `struct` is created by [`Iterator::intersperse_with`]. See its
6363
/// documentation for more information.
64-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
64+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
6565
pub struct IntersperseWith<I, G>
6666
where
6767
I: Iterator,
@@ -71,7 +71,7 @@ where
7171
needs_sep: bool,
7272
}
7373

74-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
74+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
7575
impl<I, G> crate::fmt::Debug for IntersperseWith<I, G>
7676
where
7777
I: Iterator + crate::fmt::Debug,
@@ -87,7 +87,7 @@ where
8787
}
8888
}
8989

90-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
90+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
9191
impl<I, G> crate::clone::Clone for IntersperseWith<I, G>
9292
where
9393
I: Iterator + crate::clone::Clone,
@@ -113,7 +113,7 @@ where
113113
}
114114
}
115115

116-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
116+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
117117
impl<I, G> Iterator for IntersperseWith<I, G>
118118
where
119119
I: Iterator,

library/core/src/iter/adapters/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pub use self::flatten::Flatten;
4242
#[stable(feature = "iter_copied", since = "1.36.0")]
4343
pub use self::copied::Copied;
4444

45-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
45+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
4646
pub use self::intersperse::{Intersperse, IntersperseWith};
4747

4848
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]

library/core/src/iter/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ pub use self::adapters::{
414414
Chain, Cycle, Enumerate, Filter, FilterMap, FlatMap, Fuse, Inspect, Map, Peekable, Rev, Scan,
415415
Skip, SkipWhile, Take, TakeWhile, Zip,
416416
};
417-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
417+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
418418
pub use self::adapters::{Intersperse, IntersperseWith};
419419

420420
pub(crate) use self::adapters::process_results;

library/core/src/iter/traits/iterator.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,8 @@ pub trait Iterator {
535535
/// Basic usage:
536536
///
537537
/// ```
538+
/// #![feature(iter_intersperse)]
539+
///
538540
/// let mut a = [0, 1, 2].iter().intersperse(&100);
539541
/// assert_eq!(a.next(), Some(&0)); // The first element from `a`.
540542
/// assert_eq!(a.next(), Some(&100)); // The separator.
@@ -545,16 +547,17 @@ pub trait Iterator {
545547
/// ```
546548
///
547549
/// `intersperse` can be very useful to join an iterator's items using a common element:
548-
///
549550
/// ```
551+
/// #![feature(iter_intersperse)]
552+
///
550553
/// let hello = ["Hello", "World", "!"].iter().copied().intersperse(" ").collect::<String>();
551554
/// assert_eq!(hello, "Hello World !");
552555
/// ```
553556
///
554557
/// [`Clone`]: crate::clone::Clone
555558
/// [`intersperse_with`]: Iterator::intersperse_with
556559
#[inline]
557-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
560+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
558561
fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
559562
where
560563
Self: Sized,
@@ -579,6 +582,8 @@ pub trait Iterator {
579582
/// Basic usage:
580583
///
581584
/// ```
585+
/// #![feature(iter_intersperse)]
586+
///
582587
/// #[derive(PartialEq, Debug)]
583588
/// struct NotClone(usize);
584589
///
@@ -595,8 +600,9 @@ pub trait Iterator {
595600
///
596601
/// `intersperse_with` can be used in situations where the separator needs
597602
/// to be computed:
598-
///
599603
/// ```
604+
/// #![feature(iter_intersperse)]
605+
///
600606
/// let src = ["Hello", "to", "all", "people", "!!"].iter().copied();
601607
///
602608
/// // The closure mutably borrows its context to generate an item.
@@ -609,7 +615,7 @@ pub trait Iterator {
609615
/// [`Clone`]: crate::clone::Clone
610616
/// [`intersperse`]: Iterator::intersperse
611617
#[inline]
612-
#[stable(feature = "iter_intersperse", since = "1.56.0")]
618+
#[unstable(feature = "iter_intersperse", reason = "recently added", issue = "79524")]
613619
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
614620
where
615621
Self: Sized,

library/core/tests/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
#![feature(int_log)]
4949
#![feature(iter_advance_by)]
5050
#![feature(iter_partition_in_place)]
51+
#![feature(iter_intersperse)]
5152
#![feature(iter_is_partitioned)]
5253
#![feature(iter_order_by)]
5354
#![feature(iter_map_while)]

src/librustdoc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#![feature(never_type)]
1414
#![feature(once_cell)]
1515
#![feature(type_ascription)]
16+
#![feature(iter_intersperse)]
1617
#![recursion_limit = "256"]
1718
#![warn(rustc::internal)]
1819

0 commit comments

Comments
 (0)