Trait sp_std::ops::Try [−][src]
try_trait
)A trait for customizing the behavior of the ?
operator.
A type implementing Try
is one that has a canonical way to view it
in terms of a success/failure dichotomy. This trait allows both
extracting those success or failure values from an existing instance and
creating a new instance from a success or failure value.
Associated Types
type Ok
[src]
try_trait
)The type of this value when viewed as successful.
type Error
[src]
try_trait
)The type of this value when viewed as failed.
Required methods
#[lang = "into_result"]pub fn into_result(self) -> Result<Self::Ok, Self::Error>
[src]
try_trait
)Applies the “?” operator. A return of Ok(t)
means that the
execution should continue normally, and the result of ?
is the
value t
. A return of Err(e)
means that execution should branch
to the innermost enclosing catch
, or return from the function.
If an Err(e)
result is returned, the value e
will be “wrapped”
in the return type of the enclosing scope (which must itself implement
Try
). Specifically, the value X::from_error(From::from(e))
is returned, where X
is the return type of the enclosing function.
#[lang = "from_error"]pub fn from_error(v: Self::Error) -> Self
[src]
try_trait
)Wrap an error value to construct the composite result. For example,
Result::Err(x)
and Result::from_error(x)
are equivalent.
#[lang = "from_ok"]pub fn from_ok(v: Self::Ok) -> Self
[src]
try_trait
)Wrap an OK value to construct the composite result. For example,
Result::Ok(x)
and Result::from_ok(x)
are equivalent.
Implementations on Foreign Types
impl<T> Try for Option<T>
[src]
type Ok = T
try_trait
)type Error = NoneError
try_trait
)pub fn into_result(self) -> Result<T, NoneError>
[src]
pub fn from_ok(v: T) -> Option<T>
[src]
pub fn from_error(NoneError) -> Option<T>
[src]
impl<T, E> Try for Poll<Option<Result<T, E>>>
[src]
type Ok = Poll<Option<T>>
try_trait
)type Error = E
try_trait
)pub fn into_result(
self
) -> Result<<Poll<Option<Result<T, E>>> as Try>::Ok, <Poll<Option<Result<T, E>>> as Try>::Error>
[src]
self
) -> Result<<Poll<Option<Result<T, E>>> as Try>::Ok, <Poll<Option<Result<T, E>>> as Try>::Error>
pub fn from_error(
e: <Poll<Option<Result<T, E>>> as Try>::Error
) -> Poll<Option<Result<T, E>>>
[src]
e: <Poll<Option<Result<T, E>>> as Try>::Error
) -> Poll<Option<Result<T, E>>>
pub fn from_ok(
x: <Poll<Option<Result<T, E>>> as Try>::Ok
) -> Poll<Option<Result<T, E>>>
[src]
x: <Poll<Option<Result<T, E>>> as Try>::Ok
) -> Poll<Option<Result<T, E>>>
impl<T, E> Try for Poll<Result<T, E>>
[src]
type Ok = Poll<T>
try_trait
)type Error = E
try_trait
)pub fn into_result(
self
) -> Result<<Poll<Result<T, E>> as Try>::Ok, <Poll<Result<T, E>> as Try>::Error>
[src]
self
) -> Result<<Poll<Result<T, E>> as Try>::Ok, <Poll<Result<T, E>> as Try>::Error>
pub fn from_error(e: <Poll<Result<T, E>> as Try>::Error) -> Poll<Result<T, E>>
[src]
pub fn from_ok(x: <Poll<Result<T, E>> as Try>::Ok) -> Poll<Result<T, E>>
[src]
Implementors
impl<B, C> Try for ControlFlow<B, C>
[src]
type Ok = C
try_trait
)type Error = B
try_trait
)pub fn into_result(
self
) -> Result<<ControlFlow<B, C> as Try>::Ok, <ControlFlow<B, C> as Try>::Error>
[src]
self
) -> Result<<ControlFlow<B, C> as Try>::Ok, <ControlFlow<B, C> as Try>::Error>