summaryrefslogtreecommitdiffstats
path: root/library/core/src/result.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/core/src/result.rs')
-rw-r--r--library/core/src/result.rs74
1 files changed, 16 insertions, 58 deletions
diff --git a/library/core/src/result.rs b/library/core/src/result.rs
index c48230fb8..1ee270f4c 100644
--- a/library/core/src/result.rs
+++ b/library/core/src/result.rs
@@ -489,7 +489,6 @@
#![stable(feature = "rust1", since = "1.0.0")]
use crate::iter::{self, FromIterator, FusedIterator, TrustedLen};
-use crate::marker::Destruct;
use crate::ops::{self, ControlFlow, Deref, DerefMut};
use crate::{convert, fmt, hint};
@@ -629,16 +628,10 @@ impl<T, E> Result<T, E> {
/// ```
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
- #[rustc_const_unstable(feature = "const_result_drop", issue = "92384")]
- pub const fn ok(self) -> Option<T>
- where
- E: ~const Destruct,
- {
+ pub fn ok(self) -> Option<T> {
match self {
Ok(x) => Some(x),
- // FIXME: ~const Drop doesn't quite work right yet
- #[allow(unused_variables)]
- Err(x) => None,
+ Err(_) => None,
}
}
@@ -658,15 +651,9 @@ impl<T, E> Result<T, E> {
/// ```
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
- #[rustc_const_unstable(feature = "const_result_drop", issue = "92384")]
- pub const fn err(self) -> Option<E>
- where
- T: ~const Destruct,
- {
+ pub fn err(self) -> Option<E> {
match self {
- // FIXME: ~const Drop doesn't quite work right yet
- #[allow(unused_variables)]
- Ok(x) => None,
+ Ok(_) => None,
Err(x) => Some(x),
}
}
@@ -1287,18 +1274,10 @@ impl<T, E> Result<T, E> {
/// assert_eq!(x.and(y), Ok("different result type"));
/// ```
#[inline]
- #[rustc_const_unstable(feature = "const_result_drop", issue = "92384")]
#[stable(feature = "rust1", since = "1.0.0")]
- pub const fn and<U>(self, res: Result<U, E>) -> Result<U, E>
- where
- T: ~const Destruct,
- U: ~const Destruct,
- E: ~const Destruct,
- {
+ pub fn and<U>(self, res: Result<U, E>) -> Result<U, E> {
match self {
- // FIXME: ~const Drop doesn't quite work right yet
- #[allow(unused_variables)]
- Ok(x) => res,
+ Ok(_) => res,
Err(e) => Err(e),
}
}
@@ -1370,19 +1349,11 @@ impl<T, E> Result<T, E> {
/// assert_eq!(x.or(y), Ok(2));
/// ```
#[inline]
- #[rustc_const_unstable(feature = "const_result_drop", issue = "92384")]
#[stable(feature = "rust1", since = "1.0.0")]
- pub const fn or<F>(self, res: Result<T, F>) -> Result<T, F>
- where
- T: ~const Destruct,
- E: ~const Destruct,
- F: ~const Destruct,
- {
+ pub fn or<F>(self, res: Result<T, F>) -> Result<T, F> {
match self {
Ok(v) => Ok(v),
- // FIXME: ~const Drop doesn't quite work right yet
- #[allow(unused_variables)]
- Err(e) => res,
+ Err(_) => res,
}
}
@@ -1430,18 +1401,11 @@ impl<T, E> Result<T, E> {
/// assert_eq!(x.unwrap_or(default), default);
/// ```
#[inline]
- #[rustc_const_unstable(feature = "const_result_drop", issue = "92384")]
#[stable(feature = "rust1", since = "1.0.0")]
- pub const fn unwrap_or(self, default: T) -> T
- where
- T: ~const Destruct,
- E: ~const Destruct,
- {
+ pub fn unwrap_or(self, default: T) -> T {
match self {
Ok(t) => t,
- // FIXME: ~const Drop doesn't quite work right yet
- #[allow(unused_variables)]
- Err(e) => default,
+ Err(_) => default,
}
}
@@ -1704,11 +1668,10 @@ fn unwrap_failed<T>(_msg: &str, _error: &T) -> ! {
/////////////////////////////////////////////////////////////////////////////
#[stable(feature = "rust1", since = "1.0.0")]
-#[rustc_const_unstable(feature = "const_clone", issue = "91805")]
-impl<T, E> const Clone for Result<T, E>
+impl<T, E> Clone for Result<T, E>
where
- T: ~const Clone + ~const Destruct,
- E: ~const Clone + ~const Destruct,
+ T: Clone,
+ E: Clone,
{
#[inline]
fn clone(&self) -> Self {
@@ -1971,8 +1934,7 @@ impl<A, E, V: FromIterator<A>> FromIterator<Result<A, E>> for Result<V, E> {
}
#[unstable(feature = "try_trait_v2", issue = "84277")]
-#[rustc_const_unstable(feature = "const_convert", issue = "88674")]
-impl<T, E> const ops::Try for Result<T, E> {
+impl<T, E> ops::Try for Result<T, E> {
type Output = T;
type Residual = Result<convert::Infallible, E>;
@@ -1991,10 +1953,7 @@ impl<T, E> const ops::Try for Result<T, E> {
}
#[unstable(feature = "try_trait_v2", issue = "84277")]
-#[rustc_const_unstable(feature = "const_convert", issue = "88674")]
-impl<T, E, F: ~const From<E>> const ops::FromResidual<Result<convert::Infallible, E>>
- for Result<T, F>
-{
+impl<T, E, F: From<E>> ops::FromResidual<Result<convert::Infallible, E>> for Result<T, F> {
#[inline]
#[track_caller]
fn from_residual(residual: Result<convert::Infallible, E>) -> Self {
@@ -2013,7 +1972,6 @@ impl<T, E, F: From<E>> ops::FromResidual<ops::Yeet<E>> for Result<T, F> {
}
#[unstable(feature = "try_trait_v2_residual", issue = "91285")]
-#[rustc_const_unstable(feature = "const_try", issue = "74935")]
-impl<T, E> const ops::Residual<T> for Result<convert::Infallible, E> {
+impl<T, E> ops::Residual<T> for Result<convert::Infallible, E> {
type TryType = Result<T, E>;
}