[−][src]Trait ensure::Ensure
Implement for types of objects that can be brought to target state T
Associated Types
type EnsureAction: Meet<Met = T>
Required methods
fn check_ensure(
self
) -> Result<CheckEnsureResult<T, Self::EnsureAction>, <Self::EnsureAction as Meet>::Error>
self
) -> Result<CheckEnsureResult<T, Self::EnsureAction>, <Self::EnsureAction as Meet>::Error>
Checks if target state is already Met
or provides EnsureAction
object which can by used to bring external state to target state by calling its meet()
method
Provided methods
fn ensure(self) -> Result<T, <Self::EnsureAction as Meet>::Error>
Ensure target state by calling check_ensure()
and if not Met
calling meet()
on EnsureAction
fn ensure_verify(self) -> Result<T, <Self::EnsureAction as Meet>::Error> where
Self: Clone,
<Self::EnsureAction as Meet>::Error: From<VerificationError>,
Self: Clone,
<Self::EnsureAction as Meet>::Error: From<VerificationError>,
Ensure target state and then verify that EnsureAction
actually brought external state to target state by calling check_ensure()
on clone of self
Implementors
impl<T, E, A, F> Ensure<T> for F where
F: FnOnce() -> Result<CheckEnsureResult<T, A>, E>,
A: Meet<Met = T, Error = E>,
[src]
F: FnOnce() -> Result<CheckEnsureResult<T, A>, E>,
A: Meet<Met = T, Error = E>,
type EnsureAction = A
fn check_ensure(self) -> Result<CheckEnsureResult<T, Self::EnsureAction>, E>
[src]
fn ensure(self) -> Result<T, <Self::EnsureAction as Meet>::Error>
[src]
fn ensure_verify(self) -> Result<T, <Self::EnsureAction as Meet>::Error> where
Self: Clone,
<Self::EnsureAction as Meet>::Error: From<VerificationError>,
[src]
Self: Clone,
<Self::EnsureAction as Meet>::Error: From<VerificationError>,