pub trait JoinSemiLattice: Eq {
    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

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 .

Implementations on Foreign Types

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


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

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.