Trait lattices::LatticeFrom

source ·
pub trait LatticeFrom<Other> {
    // Required method
    fn lattice_from(other: Other) -> Self;
}
Expand description

Same as From but for lattices.

This should only be implemented between different representations of the same lattice type. This should recursively convert nested lattice types, but not non-lattice (“scalar”) types.

Required Methods§

source

fn lattice_from(other: Other) -> Self

Convert from the Other lattice into Self.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl LatticeFrom<()> for ()

source§

fn lattice_from(other: Self) -> Self

Implementors§

source§

impl<Inner, Other> LatticeFrom<WithBot<Other>> for WithBot<Inner>
where Inner: LatticeFrom<Other>,

source§

impl<Inner, Other> LatticeFrom<WithTop<Other>> for WithTop<Inner>
where Inner: LatticeFrom<Other>,

source§

impl<KeySelf, KeyOther, ValSelf, ValOther> LatticeFrom<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
where KeySelf: LatticeFrom<KeyOther>, ValSelf: LatticeFrom<ValOther>,

source§

impl<LatASelf, LatAOther, LatBSelf, LatBOther> LatticeFrom<Pair<LatAOther, LatBOther>> for Pair<LatASelf, LatBSelf>
where LatASelf: LatticeFrom<LatAOther>, LatBSelf: LatticeFrom<LatBOther>,

source§

impl<LatSelf, LatOther> LatticeFrom<VecUnion<LatOther>> for VecUnion<LatSelf>
where LatSelf: LatticeFrom<LatOther>,

source§

impl<MapSelf, MapOther, K> LatticeFrom<UnionFind<MapOther>> for UnionFind<MapSelf>
where MapSelf: Keyed<Key = K, Item = Cell<K>> + FromIterator<(K, Cell<K>)>, MapOther: IntoIterator<Item = (K, Cell<K>)>, K: Copy + Eq,

source§

impl<MapSelf, MapOther, K, ValSelf, ValOther> LatticeFrom<MapUnion<MapOther>> for MapUnion<MapSelf>
where MapSelf: Keyed<Key = K, Item = ValSelf> + FromIterator<(K, ValSelf)>, MapOther: IntoIterator<Item = (K, ValOther)>, ValSelf: LatticeFrom<ValOther>,

source§

impl<MapSelf, MapOther, K, ValSelf, ValOther, TombstoneSetSelf, TombstoneSetOther> LatticeFrom<MapUnionWithTombstones<MapOther, TombstoneSetOther>> for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where MapSelf: Keyed<Key = K, Item = ValSelf> + FromIterator<(K, ValSelf)>, MapOther: IntoIterator<Item = (K, ValOther)>, ValSelf: LatticeFrom<ValOther>, TombstoneSetSelf: FromIterator<K>, TombstoneSetOther: IntoIterator<Item = K>,

source§

impl<SetSelf, SetOther, Item> LatticeFrom<SetUnion<SetOther>> for SetUnion<SetSelf>
where SetSelf: FromIterator<Item>, SetOther: IntoIterator<Item = Item>,

source§

impl<SetSelf, TombstoneSetSelf, SetOther, TombstoneSetOther, Item> LatticeFrom<SetUnionWithTombstones<SetOther, TombstoneSetOther>> for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where SetSelf: FromIterator<Item>, SetOther: IntoIterator<Item = Item>, TombstoneSetSelf: FromIterator<Item>, TombstoneSetOther: IntoIterator<Item = Item>,

source§

impl<T> LatticeFrom<Conflict<T>> for Conflict<T>

source§

impl<T> LatticeFrom<Max<T>> for Max<T>

source§

impl<T> LatticeFrom<Min<T>> for Min<T>

source§

impl<T, Provenance> LatticeFrom<Point<T, Provenance>> for Point<T, Provenance>