Trait SizedExt

Source
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§

Source

fn lift<TCon>(self) -> <TCon as WithTypeArg<Self>>::Type
where TCon: Lift + WithTypeArg<Self> + ?Sized,

Source

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>,

Source

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>,

Source

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,

Source

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,

Source

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,

Source

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>,

Source

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,

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§

Source§

impl<T: Sized> SizedExt for T