pub trait LinearApplicative: Lift {
// Required method
fn llift2<TIn1, TIn2, TOut, TFunc>(
f: TFunc,
x1: <Self as WithTypeArg<TIn1>>::Type,
x2: <Self as WithTypeArg<TIn2>>::Type,
) -> <Self as WithTypeArg<TOut>>::Type
where Self: WithTypeArg<TIn1> + WithTypeArg<TIn2> + WithTypeArg<TOut>,
TFunc: FnOnce(TIn1, TIn2) -> TOut;
// Provided method
fn lap<TIn, TOut, TFunc>(
f: <Self as WithTypeArg<TFunc>>::Type,
x: <Self as WithTypeArg<TIn>>::Type,
) -> <Self as WithTypeArg<TOut>>::Type
where Self: WithTypeArg<TFunc> + WithTypeArg<TIn> + WithTypeArg<TOut>,
TFunc: FnOnce(TIn) -> TOut { ... }
}
Required Methods§
fn llift2<TIn1, TIn2, TOut, TFunc>(
f: TFunc,
x1: <Self as WithTypeArg<TIn1>>::Type,
x2: <Self as WithTypeArg<TIn2>>::Type,
) -> <Self as WithTypeArg<TOut>>::Typewhere
Self: WithTypeArg<TIn1> + WithTypeArg<TIn2> + WithTypeArg<TOut>,
TFunc: FnOnce(TIn1, TIn2) -> TOut,
Provided Methods§
fn lap<TIn, TOut, TFunc>( f: <Self as WithTypeArg<TFunc>>::Type, x: <Self as WithTypeArg<TIn>>::Type, ) -> <Self as WithTypeArg<TOut>>::Type
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.