Skip to main content

FromFallibleLender

Trait FromFallibleLender 

Source
pub trait FromFallibleLender<L: IntoFallibleLender>: Sized {
    // Required method
    fn from_fallible_lender(lender: L) -> Result<Self, L::Error>;
}
Expand description

A trait for creating a value from a FallibleLender.

This is the fallible counterpart to FromLender.

§Examples

struct MyVec(Vec<i32>);

impl<L: IntoFallibleLender<Error = Infallible>> FromFallibleLender<L> for MyVec
where
    L::FallibleLender: for<'all> FallibleLending<'all, Lend = i32>,
{
    fn from_fallible_lender(lender: L) -> Result<Self, Infallible> {
        let mut vec = Vec::new();
        lender.into_fallible_lender().for_each(|x| {
            vec.push(x);
            Ok(())
        })?;
        Ok(MyVec(vec))
    }
}

Required Methods§

Source

fn from_fallible_lender(lender: L) -> Result<Self, L::Error>

Creates a value from a FallibleLender, returning an error if the lender produces one.

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.

Implementors§