Trait functional::Rebind1
[−]
[src]
pub trait Rebind1<Y>: Generic1 { type Type; }
Generic types can implement this trait
providing an ability to change first generic parameter.
Associated Type
must have same HKT.
There are few laws:
<<X As Rebind1<T>::Type as Generic1>::Type == T
<X As Rebind1<<X as Generic1>::Type>::Type == X
Associated Types
type Type
Implementors
impl<T, Y> Rebind1<Y> for Option<T> where Option<T>: Generic1<Type=T>
impl<T0, T1, Y> Rebind1<Y> for Result<T0, T1> where Result<T0, T1>: Generic1<Type=T0>, Result<T0, T1>: Generic2<Type=T1>
impl<T, Y> Rebind1<Y> for Vec<T> where Vec<T>: Generic1<Type=T>
impl<'a, X, Y, T> Rebind1<Y> for &'a X where X: Rebind1<Y, Type=T>
impl<X, Y, T> Rebind1<Y> for Box<X> where X: Rebind1<Y, Type=T>
impl<X, Y, T> Rebind1<Y> for Rc<X> where X: Rebind1<Y, Type=T>
impl<X, Y, T> Rebind1<Y> for Arc<X> where X: Rebind1<Y, Type=T>