Move contains
method of Option and Result lower in docs
This commit is contained in:
parent
ddabe0775c
commit
7dec41a236
2 changed files with 92 additions and 88 deletions
|
@ -571,36 +571,6 @@ impl<T> Option<T> {
|
||||||
!self.is_some()
|
!self.is_some()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns `true` if the option is a [`Some`] value containing the given value.
|
|
||||||
///
|
|
||||||
/// # Examples
|
|
||||||
///
|
|
||||||
/// ```
|
|
||||||
/// #![feature(option_result_contains)]
|
|
||||||
///
|
|
||||||
/// let x: Option<u32> = Some(2);
|
|
||||||
/// assert_eq!(x.contains(&2), true);
|
|
||||||
///
|
|
||||||
/// let x: Option<u32> = Some(3);
|
|
||||||
/// assert_eq!(x.contains(&2), false);
|
|
||||||
///
|
|
||||||
/// let x: Option<u32> = None;
|
|
||||||
/// assert_eq!(x.contains(&2), false);
|
|
||||||
/// ```
|
|
||||||
#[must_use]
|
|
||||||
#[inline]
|
|
||||||
#[unstable(feature = "option_result_contains", issue = "62358")]
|
|
||||||
#[rustc_const_unstable(feature = "const_option_ext", issue = "91930")]
|
|
||||||
pub const fn contains<U>(&self, x: &U) -> bool
|
|
||||||
where
|
|
||||||
U: ~const PartialEq<T>,
|
|
||||||
{
|
|
||||||
match self {
|
|
||||||
Some(y) => x.eq(y),
|
|
||||||
None => false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Adapter for working with references
|
// Adapter for working with references
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -1573,6 +1543,36 @@ impl<T> Option<T> {
|
||||||
mem::replace(self, Some(value))
|
mem::replace(self, Some(value))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns `true` if the option is a [`Some`] value containing the given value.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// #![feature(option_result_contains)]
|
||||||
|
///
|
||||||
|
/// let x: Option<u32> = Some(2);
|
||||||
|
/// assert_eq!(x.contains(&2), true);
|
||||||
|
///
|
||||||
|
/// let x: Option<u32> = Some(3);
|
||||||
|
/// assert_eq!(x.contains(&2), false);
|
||||||
|
///
|
||||||
|
/// let x: Option<u32> = None;
|
||||||
|
/// assert_eq!(x.contains(&2), false);
|
||||||
|
/// ```
|
||||||
|
#[must_use]
|
||||||
|
#[inline]
|
||||||
|
#[unstable(feature = "option_result_contains", issue = "62358")]
|
||||||
|
#[rustc_const_unstable(feature = "const_option_ext", issue = "91930")]
|
||||||
|
pub const fn contains<U>(&self, x: &U) -> bool
|
||||||
|
where
|
||||||
|
U: ~const PartialEq<T>,
|
||||||
|
{
|
||||||
|
match self {
|
||||||
|
Some(y) => x.eq(y),
|
||||||
|
None => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Zips `self` with another `Option`.
|
/// Zips `self` with another `Option`.
|
||||||
///
|
///
|
||||||
/// If `self` is `Some(s)` and `other` is `Some(o)`, this method returns `Some((s, o))`.
|
/// If `self` is `Some(s)` and `other` is `Some(o)`, this method returns `Some((s, o))`.
|
||||||
|
|
|
@ -563,64 +563,6 @@ impl<T, E> Result<T, E> {
|
||||||
!self.is_ok()
|
!self.is_ok()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns `true` if the result is an [`Ok`] value containing the given value.
|
|
||||||
///
|
|
||||||
/// # Examples
|
|
||||||
///
|
|
||||||
/// ```
|
|
||||||
/// #![feature(option_result_contains)]
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Ok(2);
|
|
||||||
/// assert_eq!(x.contains(&2), true);
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Ok(3);
|
|
||||||
/// assert_eq!(x.contains(&2), false);
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Err("Some error message");
|
|
||||||
/// assert_eq!(x.contains(&2), false);
|
|
||||||
/// ```
|
|
||||||
#[must_use]
|
|
||||||
#[inline]
|
|
||||||
#[unstable(feature = "option_result_contains", issue = "62358")]
|
|
||||||
pub fn contains<U>(&self, x: &U) -> bool
|
|
||||||
where
|
|
||||||
U: PartialEq<T>,
|
|
||||||
{
|
|
||||||
match self {
|
|
||||||
Ok(y) => x == y,
|
|
||||||
Err(_) => false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns `true` if the result is an [`Err`] value containing the given value.
|
|
||||||
///
|
|
||||||
/// # Examples
|
|
||||||
///
|
|
||||||
/// ```
|
|
||||||
/// #![feature(result_contains_err)]
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Ok(2);
|
|
||||||
/// assert_eq!(x.contains_err(&"Some error message"), false);
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Err("Some error message");
|
|
||||||
/// assert_eq!(x.contains_err(&"Some error message"), true);
|
|
||||||
///
|
|
||||||
/// let x: Result<u32, &str> = Err("Some other error message");
|
|
||||||
/// assert_eq!(x.contains_err(&"Some error message"), false);
|
|
||||||
/// ```
|
|
||||||
#[must_use]
|
|
||||||
#[inline]
|
|
||||||
#[unstable(feature = "result_contains_err", issue = "62358")]
|
|
||||||
pub fn contains_err<F>(&self, f: &F) -> bool
|
|
||||||
where
|
|
||||||
F: PartialEq<E>,
|
|
||||||
{
|
|
||||||
match self {
|
|
||||||
Ok(_) => false,
|
|
||||||
Err(e) => f == e,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Adapter for each variant
|
// Adapter for each variant
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -1491,6 +1433,68 @@ impl<T, E> Result<T, E> {
|
||||||
Err(e) => e,
|
Err(e) => e,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
// Misc or niche
|
||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/// Returns `true` if the result is an [`Ok`] value containing the given value.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// #![feature(option_result_contains)]
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Ok(2);
|
||||||
|
/// assert_eq!(x.contains(&2), true);
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Ok(3);
|
||||||
|
/// assert_eq!(x.contains(&2), false);
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Err("Some error message");
|
||||||
|
/// assert_eq!(x.contains(&2), false);
|
||||||
|
/// ```
|
||||||
|
#[must_use]
|
||||||
|
#[inline]
|
||||||
|
#[unstable(feature = "option_result_contains", issue = "62358")]
|
||||||
|
pub fn contains<U>(&self, x: &U) -> bool
|
||||||
|
where
|
||||||
|
U: PartialEq<T>,
|
||||||
|
{
|
||||||
|
match self {
|
||||||
|
Ok(y) => x == y,
|
||||||
|
Err(_) => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns `true` if the result is an [`Err`] value containing the given value.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// #![feature(result_contains_err)]
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Ok(2);
|
||||||
|
/// assert_eq!(x.contains_err(&"Some error message"), false);
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Err("Some error message");
|
||||||
|
/// assert_eq!(x.contains_err(&"Some error message"), true);
|
||||||
|
///
|
||||||
|
/// let x: Result<u32, &str> = Err("Some other error message");
|
||||||
|
/// assert_eq!(x.contains_err(&"Some error message"), false);
|
||||||
|
/// ```
|
||||||
|
#[must_use]
|
||||||
|
#[inline]
|
||||||
|
#[unstable(feature = "result_contains_err", issue = "62358")]
|
||||||
|
pub fn contains_err<F>(&self, f: &F) -> bool
|
||||||
|
where
|
||||||
|
F: PartialEq<E>,
|
||||||
|
{
|
||||||
|
match self {
|
||||||
|
Ok(_) => false,
|
||||||
|
Err(e) => f == e,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T, E> Result<&T, E> {
|
impl<T, E> Result<&T, E> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue