Context

Trait Context 

Source
pub trait Context<T, Source, Middle, Target, C>: Sized
where Source: Error + Into<Middle>, Middle: Error, Target: Error2, C: ErrorWrap<Middle, Target>,
{ // Required methods fn context_and_location( self, context: C, location: Location, ) -> Result<T, Target>; fn with_context_and_location<F>( self, f: F, location: Location, ) -> Result<T, Target> where F: FnOnce() -> C; // Provided methods fn context(self, context: C) -> Result<T, Target> { ... } fn with_context<F>(self, f: F) -> Result<T, Target> where F: FnOnce() -> C { ... } }

Required Methods§

Source

fn context_and_location( self, context: C, location: Location, ) -> Result<T, Target>

Source

fn with_context_and_location<F>( self, f: F, location: Location, ) -> Result<T, Target>
where F: FnOnce() -> C,

Provided Methods§

Source

fn context(self, context: C) -> Result<T, Target>

Source

fn with_context<F>(self, f: F) -> Result<T, Target>
where F: FnOnce() -> C,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T, Source, Middle, Target, C> Context<T, Source, Middle, Target, C> for Result<T, Source>
where Source: Error + Into<Middle>, Middle: Error, Target: Error2, C: ErrorWrap<Middle, Target>,

Source§

fn context_and_location( self, context: C, location: Location, ) -> Result<T, Target>

Source§

fn with_context_and_location<F>( self, f: F, location: Location, ) -> Result<T, Target>
where F: FnOnce() -> C,

Source§

impl<T, Target, C> Context<T, NoneError, NoneError, Target, C> for Option<T>
where Target: Error2, C: ErrorWrap<NoneError, Target>,

Source§

fn context_and_location( self, context: C, location: Location, ) -> Result<T, Target>

Source§

fn with_context_and_location<F>( self, f: F, location: Location, ) -> Result<T, Target>
where F: FnOnce() -> C,

Implementors§

Source§

impl<T, Source, Middle, Target, C> Context<T, Source, Middle, Target, C> for Source
where Source: Error + Into<Middle>, Middle: Error, Target: Error2, C: ErrorWrap<Middle, Target>,