Auto merge of #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: https://github.com/rust-lang/rust/issues/91345. Implementation PR: https://github.com/rust-lang/rust/pull/91346. Closes https://github.com/rust-lang/rust/issues/91345.
This commit is contained in:
commit
85b8450466
@ -10,7 +10,6 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(let_chains)]
|
||||
#![feature(never_type)]
|
||||
#![feature(result_option_inspect)]
|
||||
#![feature(rustc_attrs)]
|
||||
#![feature(yeet_expr)]
|
||||
#![feature(try_blocks)]
|
||||
|
@ -59,7 +59,6 @@
|
||||
#![feature(extract_if)]
|
||||
#![feature(intra_doc_pointers)]
|
||||
#![feature(yeet_expr)]
|
||||
#![feature(result_option_inspect)]
|
||||
#![feature(const_option)]
|
||||
#![feature(trait_alias)]
|
||||
#![feature(ptr_alignment_type)]
|
||||
|
@ -21,7 +21,6 @@
|
||||
#![feature(let_chains)]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(never_type)]
|
||||
#![feature(result_option_inspect)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
#![feature(min_specialization)]
|
||||
#![recursion_limit = "512"] // For rustdoc
|
||||
|
@ -1079,8 +1079,6 @@ impl<T> Option<T> {
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(result_option_inspect)]
|
||||
///
|
||||
/// let v = vec![1, 2, 3, 4, 5];
|
||||
///
|
||||
/// // prints "got: 4"
|
||||
@ -1090,11 +1088,8 @@ impl<T> Option<T> {
|
||||
/// let x: Option<&usize> = v.get(5).inspect(|x| println!("got: {x}"));
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "result_option_inspect", issue = "91345")]
|
||||
pub fn inspect<F>(self, f: F) -> Self
|
||||
where
|
||||
F: FnOnce(&T),
|
||||
{
|
||||
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self {
|
||||
if let Some(ref x) = self {
|
||||
f(x);
|
||||
}
|
||||
|
@ -835,8 +835,6 @@ impl<T, E> Result<T, E> {
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(result_option_inspect)]
|
||||
///
|
||||
/// let x: u8 = "4"
|
||||
/// .parse::<u8>()
|
||||
/// .inspect(|x| println!("original: {x}"))
|
||||
@ -844,7 +842,7 @@ impl<T, E> Result<T, E> {
|
||||
/// .expect("failed to parse number");
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "result_option_inspect", issue = "91345")]
|
||||
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn inspect<F: FnOnce(&T)>(self, f: F) -> Self {
|
||||
if let Ok(ref t) = self {
|
||||
f(t);
|
||||
@ -858,8 +856,6 @@ impl<T, E> Result<T, E> {
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(result_option_inspect)]
|
||||
///
|
||||
/// use std::{fs, io};
|
||||
///
|
||||
/// fn read() -> io::Result<String> {
|
||||
@ -868,7 +864,7 @@ impl<T, E> Result<T, E> {
|
||||
/// }
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "result_option_inspect", issue = "91345")]
|
||||
#[stable(feature = "result_option_inspect", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn inspect_err<F: FnOnce(&E)>(self, f: F) -> Self {
|
||||
if let Err(ref e) = self {
|
||||
f(e);
|
||||
|
Loading…
x
Reference in New Issue
Block a user