Skip to content

Commit d7de8d2

Browse files
authored
Rollup merge of #89086 - WaffleLapkin:stabilize_iter_map_while, r=kennytm
Stabilize `Iterator::map_while` Per the FCP: #68537 (comment) This PR stabilizes `Iterator::map_while` and `iter::MapWhile` in Rust 1.57.
2 parents 9f50c87 + 71e2eac commit d7de8d2

File tree

7 files changed

+6
-12
lines changed

7 files changed

+6
-12
lines changed

compiler/rustc_data_structures/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#![feature(extend_one)]
1919
#![feature(hash_raw_entry)]
2020
#![feature(in_band_lifetimes)]
21-
#![feature(iter_map_while)]
2221
#![feature(maybe_uninit_uninit_array)]
2322
#![feature(min_specialization)]
2423
#![feature(never_type)]

library/alloc/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#![feature(binary_heap_retain)]
1919
#![feature(binary_heap_as_slice)]
2020
#![feature(inplace_iteration)]
21-
#![feature(iter_map_while)]
2221
#![feature(slice_group_by)]
2322
#![feature(slice_partition_dedup)]
2423
#![feature(vec_spare_capacity)]

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::ops::{ControlFlow, Try};
1010
/// [`map_while`]: Iterator::map_while
1111
/// [`Iterator`]: trait.Iterator.html
1212
#[must_use = "iterators are lazy and do nothing unless consumed"]
13-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
13+
#[stable(feature = "iter_map_while", since = "1.57.0")]
1414
#[derive(Clone)]
1515
pub struct MapWhile<I, P> {
1616
iter: I,
@@ -23,14 +23,14 @@ impl<I, P> MapWhile<I, P> {
2323
}
2424
}
2525

26-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
26+
#[stable(feature = "iter_map_while", since = "1.57.0")]
2727
impl<I: fmt::Debug, P> fmt::Debug for MapWhile<I, P> {
2828
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2929
f.debug_struct("MapWhile").field("iter", &self.iter).finish()
3030
}
3131
}
3232

33-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
33+
#[stable(feature = "iter_map_while", since = "1.57.0")]
3434
impl<B, I: Iterator, P> Iterator for MapWhile<I, P>
3535
where
3636
P: FnMut(I::Item) -> Option<B>,

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ pub use self::copied::Copied;
4545
#[stable(feature = "iter_intersperse", since = "1.56.0")]
4646
pub use self::intersperse::{Intersperse, IntersperseWith};
4747

48-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
48+
#[stable(feature = "iter_map_while", since = "1.57.0")]
4949
pub use self::map_while::MapWhile;
5050

5151
#[unstable(feature = "trusted_random_access", issue = "none")]

library/core/src/iter/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ pub use self::adapters::Cloned;
399399
pub use self::adapters::Copied;
400400
#[stable(feature = "iterator_flatten", since = "1.29.0")]
401401
pub use self::adapters::Flatten;
402-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
402+
#[stable(feature = "iter_map_while", since = "1.57.0")]
403403
pub use self::adapters::MapWhile;
404404
#[unstable(feature = "inplace_iteration", issue = "none")]
405405
pub use self::adapters::SourceIter;

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

+1-4
Original file line numberDiff line numberDiff line change
@@ -1116,7 +1116,6 @@ pub trait Iterator {
11161116
/// Basic usage:
11171117
///
11181118
/// ```
1119-
/// #![feature(iter_map_while)]
11201119
/// let a = [-1i32, 4, 0, 1];
11211120
///
11221121
/// let mut iter = a.iter().map_while(|x| 16i32.checked_div(*x));
@@ -1147,7 +1146,6 @@ pub trait Iterator {
11471146
/// Stopping after an initial [`None`]:
11481147
///
11491148
/// ```
1150-
/// #![feature(iter_map_while)]
11511149
/// use std::convert::TryFrom;
11521150
///
11531151
/// let a = [0, 1, 2, -3, 4, 5, -6];
@@ -1165,7 +1163,6 @@ pub trait Iterator {
11651163
/// removed:
11661164
///
11671165
/// ```
1168-
/// #![feature(iter_map_while)]
11691166
/// use std::convert::TryFrom;
11701167
///
11711168
/// let a = [1, 2, -3, 4];
@@ -1191,7 +1188,7 @@ pub trait Iterator {
11911188
///
11921189
/// [`fuse`]: Iterator::fuse
11931190
#[inline]
1194-
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")]
1191+
#[stable(feature = "iter_map_while", since = "1.57.0")]
11951192
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
11961193
where
11971194
Self: Sized,

library/core/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
#![feature(iter_partition_in_place)]
5151
#![feature(iter_is_partitioned)]
5252
#![feature(iter_order_by)]
53-
#![feature(iter_map_while)]
5453
#![feature(const_mut_refs)]
5554
#![feature(const_pin)]
5655
#![feature(const_slice_from_raw_parts)]

0 commit comments

Comments
 (0)