Struct Poly

Source
pub struct Poly<F>(pub F);
Expand description

The Func trait from frunk doesn’t take self as a parameter to call so there isn’t an easy way to get context from the surrounding scope. Here we define our own Poly wrapper and Func trait that does take self as a parameter so the caller can include whatever context they need.

Tuple Fields§

§0: F

Trait Implementations§

Source§

impl<F: Func<Head>, Head, Tail: HMappable<Poly<F>>> HMappable<Poly<F>> for HCons<Head, Tail>

Source§

type Output = HCons<<F as Func<Head>>::Output, <Tail as HMappable<Poly<F>>>::Output>

Source§

fn map(self, mapper: Poly<F>) -> Self::Output

Apply a function to each element of an HList. Read more

Auto Trait Implementations§

§

impl<F> Freeze for Poly<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for Poly<F>
where F: RefUnwindSafe,

§

impl<F> Send for Poly<F>
where F: Send,

§

impl<F> Sync for Poly<F>
where F: Sync,

§

impl<F> Unpin for Poly<F>
where F: Unpin,

§

impl<F> UnwindSafe for Poly<F>
where F: UnwindSafe,

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<Choices> CoproductSubsetter<CNil, HNil> for Choices

Source§

type Remainder = Choices

Source§

fn subset( self, ) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>

Extract a subset of the possible types in a coproduct (or get the remaining possibilities) 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, I> LiftInto<U, I> for T
where U: LiftFrom<T, I>,

Source§

fn lift_into(self) -> U

Performs the indexed conversion.
Source§

impl<Source> Sculptor<HNil, HNil> for Source

Source§

type Remainder = Source

Source§

fn sculpt(self) -> (HNil, <Source as Sculptor<HNil, HNil>>::Remainder)

Consumes the current HList and returns an HList with the requested shape. Read more
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.