Trait 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.

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.

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<LatA, LatB, __LatAOther, __LatBOther> LatticeFrom<Pair<__LatAOther, __LatBOther>> for Pair<LatA, LatB>
where LatA: LatticeFrom<__LatAOther>, LatB: 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>

impl LatticeFrom<InfectingWrite> for InfectingWrite

impl<T, const N: usize> LatticeFrom<BoundedSetLattice<T, N>> for BoundedSetLattice<T, N>
where T: Eq + Hash,