Trait type_equalities::TypeFunction[][src]

pub trait TypeFunction<Arg: ?Sized> {
    type Result: ?Sized;
}

A trait for type level functions, mapping type arguments to type results.

Note that Self is used only as a marker. See also substitute, which implements coercing of results.

Associated Types

type Result: ?Sized[src]

The type that Arg is mapped to by the implementor.

Loading content...

Implementors

impl<'a, A: ?Sized + 'a> TypeFunction<A> for MutRefF<'a>[src]

type Result = &'a mut A

impl<'a, A: ?Sized + 'a> TypeFunction<A> for RefF<'a>[src]

type Result = &'a A

impl<A, const N: usize> TypeFunction<A> for SliceF<N>[src]

type Result = [A; N]

impl<A: ?Sized> TypeFunction<A> for IdF[src]

type Result = A

impl<F: ?Sized, G: ?Sized, Arg: ?Sized> TypeFunction<Arg> for ComposeF<F, G> where
    G: TypeFunction<Arg>,
    F: TypeFunction<G::Result>, 
[src]

type Result = F::Result

impl<T: ?Sized, Arg: ?Sized> TypeFunction<Arg> for LoefIdF<T>[src]

type Result = TypeEq<T, Arg>

impl<T: ?Sized, Arg: ?Sized> TypeFunction<Arg> for LoefIdFlippedF<T>[src]

type Result = TypeEq<Arg, T>

Loading content...