Skip to content

Commit 85b8450

Browse files
committed
Auto merge of rust-lang#116866 - slanterns:inspect-stabilize, r=BurntSushi
Stabilize `result_option_inspect` This PR stabilizes `result_option_inspect`: ```rust // core::option impl Option<T> { pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self; } // core::result impl Result<T, E> { pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self; pub fn inspect_err<F: FnOnce(&E)>(self, f: F) -> Self; } ``` <br> Tracking issue: rust-lang#91345. Implementation PR: rust-lang#91346. Closes rust-lang#91345.
2 parents 531cb83 + ed512e9 commit 85b8450

File tree

5 files changed

+4
-16
lines changed

5 files changed

+4
-16
lines changed

compiler/rustc_errors/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#![feature(if_let_guard)]
1111
#![feature(let_chains)]
1212
#![feature(never_type)]
13-
#![feature(result_option_inspect)]
1413
#![feature(rustc_attrs)]
1514
#![feature(yeet_expr)]
1615
#![feature(try_blocks)]

compiler/rustc_middle/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
#![feature(extract_if)]
6060
#![feature(intra_doc_pointers)]
6161
#![feature(yeet_expr)]
62-
#![feature(result_option_inspect)]
6362
#![feature(const_option)]
6463
#![feature(trait_alias)]
6564
#![feature(ptr_alignment_type)]

compiler/rustc_trait_selection/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#![feature(let_chains)]
2222
#![feature(if_let_guard)]
2323
#![feature(never_type)]
24-
#![feature(result_option_inspect)]
2524
#![feature(type_alias_impl_trait)]
2625
#![feature(min_specialization)]
2726
#![recursion_limit = "512"] // For rustdoc

library/core/src/option.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -1079,8 +1079,6 @@ impl<T> Option<T> {
10791079
/// # Examples
10801080
///
10811081
/// ```
1082-
/// #![feature(result_option_inspect)]
1083-
///
10841082
/// let v = vec![1, 2, 3, 4, 5];
10851083
///
10861084
/// // prints "got: 4"
@@ -1090,11 +1088,8 @@ impl<T> Option<T> {
10901088
/// let x: Option<&usize> = v.get(5).inspect(|x| println!("got: {x}"));
10911089
/// ```
10921090
#[inline]
1093-
#[unstable(feature = "result_option_inspect", issue = "91345")]
1094-
pub fn inspect<F>(self, f: F) -> Self
1095-
where
1096-
F: FnOnce(&T),
1097-
{
1091+
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
1092+
pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self {
10981093
if let Some(ref x) = self {
10991094
f(x);
11001095
}

library/core/src/result.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -835,16 +835,14 @@ impl<T, E> Result<T, E> {
835835
/// # Examples
836836
///
837837
/// ```
838-
/// #![feature(result_option_inspect)]
839-
///
840838
/// let x: u8 = "4"
841839
/// .parse::<u8>()
842840
/// .inspect(|x| println!("original: {x}"))
843841
/// .map(|x| x.pow(3))
844842
/// .expect("failed to parse number");
845843
/// ```
846844
#[inline]
847-
#[unstable(feature = "result_option_inspect", issue = "91345")]
845+
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
848846
pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self {
849847
if let Ok(ref t) = self {
850848
f(t);
@@ -858,8 +856,6 @@ impl<T, E> Result<T, E> {
858856
/// # Examples
859857
///
860858
/// ```
861-
/// #![feature(result_option_inspect)]
862-
///
863859
/// use std::{fs, io};
864860
///
865861
/// fn read() -> io::Result<String> {
@@ -868,7 +864,7 @@ impl<T, E> Result<T, E> {
868864
/// }
869865
/// ```
870866
#[inline]
871-
#[unstable(feature = "result_option_inspect", issue = "91345")]
867+
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
872868
pub fn inspect_err<F: FnOnce(&E)>(self, f: F) -> Self {
873869
if let Err(ref e) = self {
874870
f(e);

0 commit comments

Comments
 (0)