EAccumScope

Struct EAccumScope 

Source
pub struct EAccumScope<'a> { /* private fields */ }
Expand description

Error scope to fail if one of several computations failed.

Usage example:

for e in &es {
    foo(acc, e)?;
}

will only try to execute foo until it reaches the first error. Subsequent elements will not be handled.

If instead we wish to execute them all we can do

Implementations§

Source§

impl<'a> EAccumScope<'a>

Source

pub fn compute<F>(&mut self, f: F)
where F: FnOnce(&mut EAccum) -> Option<()>,

Record the success of a new computation.

Source

pub fn close(self) -> Option<()>

Consume the scope and emit an error if and only if one of the recorded computations failed.

Source

pub fn error<E: IntoError>(&mut self, e: E)

Apply an error to the inner accumulator.

Source

pub fn warning<E: IntoError>(&mut self, e: E)

Apply a warning to the inner accumulator.

Auto Trait Implementations§

§

impl<'a> Freeze for EAccumScope<'a>

§

impl<'a> RefUnwindSafe for EAccumScope<'a>

§

impl<'a> !Send for EAccumScope<'a>

§

impl<'a> !Sync for EAccumScope<'a>

§

impl<'a> Unpin for EAccumScope<'a>

§

impl<'a> !UnwindSafe for EAccumScope<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.