pub trait SizedExt: Sized {
// Provided methods
fn lift<TCon>(self) -> <TCon as WithTypeArg<Self>>::Type
where TCon: Lift + WithTypeArg<Self> + ?Sized { ... }
fn lap<TCon, TIn, TOut, TFunc, X>(
self,
x: X,
) -> <TCon as WithTypeArg<TOut>>::Type
where TCon: LinearApplicative + WithTypeArg<TFunc> + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TFunc>,
TFunc: Fn(TIn) -> TOut,
X: TypeApp<TCon, TIn> { ... }
fn lmap<TCon, TIn, TOut, X>(self, x: X) -> <TCon as WithTypeArg<TOut>>::Type
where TCon: LinearFunctor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: Fn(TIn) -> TOut,
X: TypeApp<TCon, TIn> { ... }
fn lmapop<TCon, TIn, TOut, F>(
self,
f: F,
) -> <TCon as WithTypeArg<TOut>>::Type
where TCon: LinearFunctor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
F: Fn(TIn) -> TOut { ... }
fn fmap<TCon, TIn, TOut, X>(
self,
x: &X,
) -> <TCon as WithTypeArg<TOut>>::Type
where TCon: Functor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: Fn(&TIn) -> TOut,
X: TypeApp<TCon, TIn> + ?Sized { ... }
fn fmapop<TCon, TIn, TOut, F>(
&self,
f: F,
) -> <TCon as WithTypeArg<TOut>>::Type
where TCon: Functor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
F: Fn(&TIn) -> TOut { ... }
fn lbind<TCon, TIn, TOut, F, TResult>(self, f: F) -> TResult
where TCon: LinearMonad + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
F: Fn(TIn) -> TResult,
TResult: TypeApp<TCon, TOut>,
Self: TypeApp<TCon, TIn> { ... }
fn lbind_ignore<TCon, TIn, TOut, TResult>(self, y: &TResult) -> TResult
where TCon: LinearMonad + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
TResult: TypeApp<TCon, TOut>,
<TCon as WithTypeArg<TOut>>::Type: Clone { ... }
}
Provided Methods§
fn lift<TCon>(self) -> <TCon as WithTypeArg<Self>>::Type
fn lap<TCon, TIn, TOut, TFunc, X>(
self,
x: X,
) -> <TCon as WithTypeArg<TOut>>::Typewhere
TCon: LinearApplicative + WithTypeArg<TFunc> + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TFunc>,
TFunc: Fn(TIn) -> TOut,
X: TypeApp<TCon, TIn>,
fn lmap<TCon, TIn, TOut, X>(self, x: X) -> <TCon as WithTypeArg<TOut>>::Typewhere
TCon: LinearFunctor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: Fn(TIn) -> TOut,
X: TypeApp<TCon, TIn>,
fn lmapop<TCon, TIn, TOut, F>(self, f: F) -> <TCon as WithTypeArg<TOut>>::Typewhere
TCon: LinearFunctor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
F: Fn(TIn) -> TOut,
fn fmap<TCon, TIn, TOut, X>(self, x: &X) -> <TCon as WithTypeArg<TOut>>::Typewhere
TCon: Functor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: Fn(&TIn) -> TOut,
X: TypeApp<TCon, TIn> + ?Sized,
fn fmapop<TCon, TIn, TOut, F>(&self, f: F) -> <TCon as WithTypeArg<TOut>>::Typewhere
TCon: Functor + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
F: Fn(&TIn) -> TOut,
fn lbind<TCon, TIn, TOut, F, TResult>(self, f: F) -> TResultwhere
TCon: LinearMonad + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
F: Fn(TIn) -> TResult,
TResult: TypeApp<TCon, TOut>,
Self: TypeApp<TCon, TIn>,
fn lbind_ignore<TCon, TIn, TOut, TResult>(self, y: &TResult) -> TResultwhere
TCon: LinearMonad + WithTypeArg<TIn> + WithTypeArg<TOut> + ?Sized,
Self: TypeApp<TCon, TIn>,
TResult: TypeApp<TCon, TOut>,
<TCon as WithTypeArg<TOut>>::Type: Clone,
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.