Skip to content

Commit 85796dd

Browse files
committed
stabilize Iterator::flatten in 1.29, fixes #48115.
1 parent 0b7c9e7 commit 85796dd

File tree

4 files changed

+7
-15
lines changed

4 files changed

+7
-15
lines changed

src/libcore/iter/iterator.rs

+1-7
Original file line numberDiff line numberDiff line change
@@ -1036,8 +1036,6 @@ pub trait Iterator {
10361036
/// Basic usage:
10371037
///
10381038
/// ```
1039-
/// #![feature(iterator_flatten)]
1040-
///
10411039
/// let data = vec![vec![1, 2, 3, 4], vec![5, 6]];
10421040
/// let flattened = data.into_iter().flatten().collect::<Vec<u8>>();
10431041
/// assert_eq!(flattened, &[1, 2, 3, 4, 5, 6]);
@@ -1046,8 +1044,6 @@ pub trait Iterator {
10461044
/// Mapping and then flattening:
10471045
///
10481046
/// ```
1049-
/// #![feature(iterator_flatten)]
1050-
///
10511047
/// let words = ["alpha", "beta", "gamma"];
10521048
///
10531049
/// // chars() returns an iterator
@@ -1074,8 +1070,6 @@ pub trait Iterator {
10741070
/// Flattening once only removes one level of nesting:
10751071
///
10761072
/// ```
1077-
/// #![feature(iterator_flatten)]
1078-
///
10791073
/// let d3 = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]];
10801074
///
10811075
/// let d2 = d3.iter().flatten().collect::<Vec<_>>();
@@ -1093,7 +1087,7 @@ pub trait Iterator {
10931087
///
10941088
/// [`flat_map()`]: #method.flat_map
10951089
#[inline]
1096-
#[unstable(feature = "iterator_flatten", issue = "48213")]
1090+
#[stable(feature = "iterator_flatten", since = "1.29")]
10971091
fn flatten(self) -> Flatten<Self>
10981092
where Self: Sized, Self::Item: IntoIterator {
10991093
Flatten { inner: flatten_compat(self) }

src/libcore/iter/mod.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -2524,13 +2524,13 @@ impl<I, U, F> FusedIterator for FlatMap<I, U, F>
25242524
/// [`flatten`]: trait.Iterator.html#method.flatten
25252525
/// [`Iterator`]: trait.Iterator.html
25262526
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
2527-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2527+
#[stable(feature = "iterator_flatten", since = "1.29")]
25282528
pub struct Flatten<I: Iterator>
25292529
where I::Item: IntoIterator {
25302530
inner: FlattenCompat<I, <I::Item as IntoIterator>::IntoIter>,
25312531
}
25322532

2533-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2533+
#[stable(feature = "iterator_flatten", since = "1.29")]
25342534
impl<I, U> fmt::Debug for Flatten<I>
25352535
where I: Iterator + fmt::Debug, U: Iterator + fmt::Debug,
25362536
I::Item: IntoIterator<IntoIter = U, Item = U::Item>,
@@ -2540,15 +2540,15 @@ impl<I, U> fmt::Debug for Flatten<I>
25402540
}
25412541
}
25422542

2543-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2543+
#[stable(feature = "iterator_flatten", since = "1.29")]
25442544
impl<I, U> Clone for Flatten<I>
25452545
where I: Iterator + Clone, U: Iterator + Clone,
25462546
I::Item: IntoIterator<IntoIter = U, Item = U::Item>,
25472547
{
25482548
fn clone(&self) -> Self { Flatten { inner: self.inner.clone() } }
25492549
}
25502550

2551-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2551+
#[stable(feature = "iterator_flatten", since = "1.29")]
25522552
impl<I, U> Iterator for Flatten<I>
25532553
where I: Iterator, U: Iterator,
25542554
I::Item: IntoIterator<IntoIter = U, Item = U::Item>
@@ -2576,7 +2576,7 @@ impl<I, U> Iterator for Flatten<I>
25762576
}
25772577
}
25782578

2579-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2579+
#[stable(feature = "iterator_flatten", since = "1.29")]
25802580
impl<I, U> DoubleEndedIterator for Flatten<I>
25812581
where I: DoubleEndedIterator, U: DoubleEndedIterator,
25822582
I::Item: IntoIterator<IntoIter = U, Item = U::Item>
@@ -2599,7 +2599,7 @@ impl<I, U> DoubleEndedIterator for Flatten<I>
25992599
}
26002600
}
26012601

2602-
#[unstable(feature = "iterator_flatten", issue = "48213")]
2602+
#[stable(feature = "iterator_flatten", since = "1.29")]
26032603
impl<I, U> FusedIterator for Flatten<I>
26042604
where I: FusedIterator, U: Iterator,
26052605
I::Item: IntoIterator<IntoIter = U, Item = U::Item> {}

src/libcore/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@
8989
#![feature(extern_types)]
9090
#![feature(fundamental)]
9191
#![feature(intrinsics)]
92-
#![feature(iterator_flatten)]
9392
#![feature(lang_items)]
9493
#![feature(link_llvm_intrinsics)]
9594
#![feature(never_type)]

src/libcore/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#![feature(flt2dec)]
2424
#![feature(fmt_internals)]
2525
#![feature(hashmap_internals)]
26-
#![feature(iterator_flatten)]
2726
#![feature(pattern)]
2827
#![feature(range_is_empty)]
2928
#![feature(raw)]

0 commit comments

Comments
 (0)