[][src]Trait lark_ty::map_family::Map

pub trait Map<S: TypeFamily, T: TypeFamily>: Clone {
    type Output;
    fn map(
        &self,
        mapper: &mut impl FamilyMapper<S, T>
    ) -> Self::Output; }

Associated Types

type Output

Loading content...

Required methods

fn map(
    &self,
    mapper: &mut impl FamilyMapper<S, T>
) -> Self::Output

Loading content...

Implementations on Foreign Types

impl<S, T, V, '_> Map<S, T> for &'_ V where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = V::Output

impl<S, T, V> Map<S, T> for Arc<V> where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = Arc<V::Output>

impl<S, T, V> Map<S, T> for Option<V> where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = Option<V::Output>

impl<S, T, V> Map<S, T> for Vec<V> where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = Vec<V::Output>

impl<S, T, V> Map<S, T> for Seq<V> where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = Seq<V::Output>

impl<K, S, T, V> Map<S, T> for BTreeMap<K, V> where
    K: Clone + Eq + Ord,
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = BTreeMap<K, V::Output>

impl<K, S, T, V> Map<S, T> for FxIndexMap<K, V> where
    K: Clone + Eq + Hash,
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T>, 
[src]

type Output = FxIndexMap<K, V::Output>

impl<S, T, V> Map<S, T> for FxIndexSet<V> where
    S: TypeFamily,
    T: TypeFamily,
    V: Map<S, T> + Eq + Hash,
    V::Output: Eq + Hash
[src]

type Output = FxIndexSet<V::Output>

impl<S, T> Map<S, T> for Entity where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Entity

Loading content...

Implementors

impl<S, T> Map<S, T> for BaseKind<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = BaseKind<T>

impl<S, T> Map<S, T> for BaseData<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = BaseData<T>

impl<S, T> Map<S, T> for Erased where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Erased

impl<S, T> Map<S, T> for Generics<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Generics<T>

impl<S, T> Map<S, T> for Signature<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Signature<T>

impl<S, T> Map<S, T> for Ty<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Ty<T>

impl<S, T> Map<S, T> for Generic<S> where
    S: TypeFamily,
    T: TypeFamily
[src]

type Output = Generic<T>

Loading content...