pub struct AccScope<'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> AccScope<'a>

source

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

Record the success of a new computation.

source

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

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> RefUnwindSafe for AccScope<'a>

§

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

§

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

§

impl<'a> Unpin for AccScope<'a>

§

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

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.