Struct warp::generic::Product

source ·
pub struct Product<H, T: HList>(pub(crate) H, pub(crate) T);

Tuple Fields§

§0: H§1: T

Trait Implementations§

source§

impl<H, T, U: HList> Combine<U> for Product<H, T>
where T: Combine<U> + HList, Product<H, <T as Combine<U>>::Output>: HList,

§

type Output = Product<H, <T as Combine<U>>::Output>

source§

fn combine(self, other: U) -> Self::Output

source§

impl<H: Debug, T: Debug + HList> Debug for Product<H, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<F, R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T1, Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>>> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T1, Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T10, T11, T12, T13, T14, T15, T16> Func<Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>> for F
where F: Fn(T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>, ) -> Self::Output

source§

impl<F, R, T11, T12, T13, T14, T15, T16> Func<Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>> for F
where F: Fn(T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>, ) -> Self::Output

source§

impl<F, R, T12, T13, T14, T15, T16> Func<Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>> for F
where F: Fn(T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>, ) -> Self::Output

source§

impl<F, R, T13, T14, T15, T16> Func<Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>> for F
where F: Fn(T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>, ) -> Self::Output

source§

impl<F, R, T14, T15, T16> Func<Product<T14, Product<T15, Product<T16, ()>>>> for F
where F: Fn(T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T14, Product<T15, Product<T16, ()>>>, ) -> Self::Output

source§

impl<F, R, T15, T16> Func<Product<T15, Product<T16, ()>>> for F
where F: Fn(T15, T16) -> R,

§

type Output = R

source§

fn call(&self, args: Product<T15, Product<T16, ()>>) -> Self::Output

source§

impl<F, R, T16> Func<Product<T16, ()>> for F
where F: Fn(T16) -> R,

§

type Output = R

source§

fn call(&self, args: Product<T16, ()>) -> Self::Output

source§

impl<F, R, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>> for F
where F: Fn(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>> for F
where F: Fn(T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>> for F
where F: Fn(T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>> for F
where F: Fn(T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>> for F
where F: Fn(T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>> for F
where F: Fn(T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T8, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>> for F
where F: Fn(T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>, ) -> Self::Output

source§

impl<F, R, T9, T10, T11, T12, T13, T14, T15, T16> Func<Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>> for F
where F: Fn(T9, T10, T11, T12, T13, T14, T15, T16) -> R,

§

type Output = R

source§

fn call( &self, args: Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>, ) -> Self::Output

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T1, Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>>

source§

impl<T10, T11, T12, T13, T14, T15, T16> HList for Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>

source§

impl<T11, T12, T13, T14, T15, T16> HList for Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>

source§

impl<T12, T13, T14, T15, T16> HList for Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>

source§

impl<T13, T14, T15, T16> HList for Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>

source§

impl<T14, T15, T16> HList for Product<T14, Product<T15, Product<T16, ()>>>

source§

impl<T15, T16> HList for Product<T15, Product<T16, ()>>

§

type Tuple = (T15, T16)

source§

fn flatten(self) -> Self::Tuple

source§

impl<T16> HList for Product<T16, ()>

§

type Tuple = (T16,)

source§

fn flatten(self) -> Self::Tuple

source§

impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T2, Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>>

source§

impl<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T3, Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>>

source§

impl<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T4, Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>>

source§

impl<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T5, Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>>

source§

impl<T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T6, Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>>

source§

impl<T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T7, Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>>

source§

impl<T8, T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T8, Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>>

source§

impl<T9, T10, T11, T12, T13, T14, T15, T16> HList for Product<T9, Product<T10, Product<T11, Product<T12, Product<T13, Product<T14, Product<T15, Product<T16, ()>>>>>>>>

Auto Trait Implementations§

§

impl<H, T> Freeze for Product<H, T>
where H: Freeze, T: Freeze,

§

impl<H, T> RefUnwindSafe for Product<H, T>

§

impl<H, T> Send for Product<H, T>
where H: Send, T: Send,

§

impl<H, T> Sync for Product<H, T>
where H: Sync, T: Sync,

§

impl<H, T> Unpin for Product<H, T>
where H: Unpin, T: Unpin,

§

impl<H, T> UnwindSafe for Product<H, T>
where H: UnwindSafe, T: 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<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more