pub trait Lattice {
// Required methods
fn pjoin(&self, other: &Self) -> AlgebraicResult<Self>
where Self: Sized;
fn pmeet(&self, other: &Self) -> AlgebraicResult<Self>
where Self: Sized;
// Provided methods
fn join_into(&mut self, other: Self) -> AlgebraicStatus
where Self: Sized { ... }
fn join_all<S: AsRef<Self>, Args: AsRef<[S]>>(
xs: Args,
) -> AlgebraicResult<Self>
where Self: Sized + Clone { ... }
}Expand description
Implements basic algebraic behavior (union & intersection) for a type
Required Methods§
Sourcefn pjoin(&self, other: &Self) -> AlgebraicResult<Self>where
Self: Sized,
fn pjoin(&self, other: &Self) -> AlgebraicResult<Self>where
Self: Sized,
Implements the union operation between two instances of a type in a partial lattice, resulting in the creation of a new result instance
Sourcefn pmeet(&self, other: &Self) -> AlgebraicResult<Self>where
Self: Sized,
fn pmeet(&self, other: &Self) -> AlgebraicResult<Self>where
Self: Sized,
Implements the intersection operation between two instances of a type in a partial lattice
Provided Methods§
Sourcefn join_into(&mut self, other: Self) -> AlgebraicStatuswhere
Self: Sized,
fn join_into(&mut self, other: Self) -> AlgebraicStatuswhere
Self: Sized,
Implements the union operation between two instances of a type, consuming the other input operand,
and modifying self to become the joined type