Trait rustc_mir_dataflow::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§
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
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<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<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
.