JoinSemiLattice in rustc_mir_dataflow - Rust
Description: A partially ordered set that has a least upper bound for any pair of elements in the set.

Skip to main content

## JoinSemiLattice

# Trait 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§

Source

#### 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 `∨`.

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

## Implementations on Foreign Types§

Source§

### impl<T: Idx> JoinSemiLattice for DenseBitSet<T>

A `DenseBitSet` 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`.

Source§

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

Source§

### impl<T: Idx> JoinSemiLattice for MixedBitSet<T>

Source§

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

## Implementors§

Source§

### impl<T: Clone + Eq> JoinSemiLattice for FlatSet<T>

Source§

### impl<T: JoinSemiLattice + Clone> JoinSemiLattice for MaybeReachable<T>

Source§

### impl<V: JoinSemiLattice + Clone> JoinSemiLattice for State<V>

Source§

### impl<V: JoinSemiLattice + Clone> JoinSemiLattice for StateData<V>