Skip to content

Commit 2de809f

Browse files
committed
Stabilize the map/value methods on ControlFlow
And fix the stability attribute on the `pub use` in `core::ops`.
1 parent f7b4c72 commit 2de809f

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

library/core/src/ops/control_flow.rs

+6-12
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ impl<B, C> ControlFlow<B, C> {
178178
/// assert_eq!(ControlFlow::<String, i32>::Continue(3).break_value(), None);
179179
/// ```
180180
#[inline]
181-
#[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")]
181+
#[stable(feature = "control_flow_enum", since = "CURRENT_RUSTC_VERSION")]
182182
pub fn break_value(self) -> Option<B> {
183183
match self {
184184
ControlFlow::Continue(..) => None,
@@ -189,11 +189,8 @@ impl<B, C> ControlFlow<B, C> {
189189
/// Maps `ControlFlow<B, C>` to `ControlFlow<T, C>` by applying a function
190190
/// to the break value in case it exists.
191191
#[inline]
192-
#[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")]
193-
pub fn map_break<T, F>(self, f: F) -> ControlFlow<T, C>
194-
where
195-
F: FnOnce(B) -> T,
196-
{
192+
#[stable(feature = "control_flow_enum", since = "CURRENT_RUSTC_VERSION")]
193+
pub fn map_break<T>(self, f: impl FnOnce(B) -> T) -> ControlFlow<T, C> {
197194
match self {
198195
ControlFlow::Continue(x) => ControlFlow::Continue(x),
199196
ControlFlow::Break(x) => ControlFlow::Break(f(x)),
@@ -213,7 +210,7 @@ impl<B, C> ControlFlow<B, C> {
213210
/// assert_eq!(ControlFlow::<String, i32>::Continue(3).continue_value(), Some(3));
214211
/// ```
215212
#[inline]
216-
#[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")]
213+
#[stable(feature = "control_flow_enum", since = "CURRENT_RUSTC_VERSION")]
217214
pub fn continue_value(self) -> Option<C> {
218215
match self {
219216
ControlFlow::Continue(x) => Some(x),
@@ -224,11 +221,8 @@ impl<B, C> ControlFlow<B, C> {
224221
/// Maps `ControlFlow<B, C>` to `ControlFlow<B, T>` by applying a function
225222
/// to the continue value in case it exists.
226223
#[inline]
227-
#[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")]
228-
pub fn map_continue<T, F>(self, f: F) -> ControlFlow<B, T>
229-
where
230-
F: FnOnce(C) -> T,
231-
{
224+
#[stable(feature = "control_flow_enum", since = "CURRENT_RUSTC_VERSION")]
225+
pub fn map_continue<T>(self, f: impl FnOnce(C) -> T) -> ControlFlow<B, T> {
232226
match self {
233227
ControlFlow::Continue(x) => ControlFlow::Continue(f(x)),
234228
ControlFlow::Break(x) => ControlFlow::Break(x),

library/core/src/ops/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ pub use self::async_function::{AsyncFn, AsyncFnMut, AsyncFnOnce};
162162
pub use self::bit::{BitAnd, BitOr, BitXor, Not, Shl, Shr};
163163
#[stable(feature = "op_assign_traits", since = "1.8.0")]
164164
pub use self::bit::{BitAndAssign, BitOrAssign, BitXorAssign, ShlAssign, ShrAssign};
165-
#[unstable(feature = "control_flow_enum", reason = "new API", issue = "75744")]
165+
#[stable(feature = "control_flow_enum_type", since = "1.55.0")]
166166
pub use self::control_flow::ControlFlow;
167167
#[unstable(feature = "coroutine_trait", issue = "43122")]
168168
pub use self::coroutine::{Coroutine, CoroutineState};

0 commit comments

Comments
 (0)