[][src]Trait rustc_mir::dataflow::lattice::JoinSemiLattice

pub trait JoinSemiLattice: Eq {
    fn join(&mut self, other: &Self) -> bool;
}

A partially ordered set that has a least upper bound for any pair of elements in the set.

Required methods

fn join(&mut self, other: &Self) -> bool

Computes the least upper bound of two elements, storing the result in self and returning true if self has changed.

The lattice join operator is abbreviated as .

Loading content...

Implementations on Foreign Types

impl JoinSemiLattice for bool[src]

A bool is a "two-point" lattice with true as the top element and false as the bottom:

     true
       |
     false

impl<I: Idx, T: JoinSemiLattice> JoinSemiLattice for IndexVec<I, T>[src]

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ₙ)

impl<T: Idx> JoinSemiLattice for BitSet<T>[src]

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.

Loading content...

Implementors

impl<T: MeetSemiLattice> JoinSemiLattice for Dual<T>[src]

impl<T: Clone + Eq> JoinSemiLattice for FlatSet<T>[src]

Loading content...