Trait rustc_mir_dataflow::framework::lattice::JoinSemiLattice
source · pub trait JoinSemiLattice: Eq {
// Required method
fn join(&mut self, other: &Self) -> bool;
}
Expand description
A partially ordered set that has a least upper bound for any pair of elements in the set.
Required Methods§
Implementations on Foreign Types§
source§impl<T: Idx> JoinSemiLattice for ChunkedBitSet<T>
impl<T: Idx> JoinSemiLattice for ChunkedBitSet<T>
source§impl<I: Idx, T: JoinSemiLattice> JoinSemiLattice for IndexVec<I, T>
impl<I: Idx, T: JoinSemiLattice> JoinSemiLattice for IndexVec<I, T>
A tuple (or list) of lattices is itself a lattice whose least upper bound is the concatenation of the least upper bounds of each element of the tuple (or list).
In other words: (A₀, A₁, …, Aₙ) ∨ (B₀, B₁, …, Bₙ) = (A₀∨B₀, A₁∨B₁, …, Aₙ∨Bₙ)
source§impl JoinSemiLattice for bool
impl JoinSemiLattice for bool
A bool
is a “two-point” lattice with true
as the top element and false
as the bottom:
true
|
false
source§impl<T: Idx> JoinSemiLattice for BitSet<T>
impl<T: Idx> JoinSemiLattice for BitSet<T>
A BitSet
represents the lattice formed by the powerset of all possible values of
the index type T
ordered by inclusion. Equivalently, it is a tuple of “two-point” lattices,
one for each possible value of T
.