Skip to main content

LatticeRef

Trait LatticeRef 

Source
pub trait LatticeRef {
    type T;

    // Required methods
    fn pjoin(&self, other: &Self) -> AlgebraicResult<Self::T>;
    fn pmeet(&self, other: &Self) -> AlgebraicResult<Self::T>;
}
Expand description

Implements algebraic behavior on a reference to a Lattice type, such as a smart pointer that can’t hold ownership

Required Associated Types§

Source

type T

Required Methods§

Source

fn pjoin(&self, other: &Self) -> AlgebraicResult<Self::T>

Source

fn pmeet(&self, other: &Self) -> AlgebraicResult<Self::T>

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<V: Lattice + Clone + Send + Sync, A: Allocator> LatticeRef for Option<&TrieNodeODRc<V, A>>

Source§

type T = Option<TrieNodeODRc<V, A>>

Source§

fn pjoin(&self, other: &Self) -> AlgebraicResult<Self::T>

Source§

fn pmeet( &self, other: &Option<&TrieNodeODRc<V, A>>, ) -> AlgebraicResult<Option<TrieNodeODRc<V, A>>>

Source§

impl<V: Lattice + Clone> LatticeRef for Option<&V>

Source§

type T = Option<V>

Source§

fn pjoin(&self, other: &Self) -> AlgebraicResult<Self::T>

Source§

fn pmeet(&self, other: &Option<&V>) -> AlgebraicResult<Option<V>>

Source§

impl<V: Lattice> LatticeRef for &V

Source§

type T = V

Source§

fn pjoin(&self, other: &Self) -> AlgebraicResult<Self::T>

Source§

fn pmeet(&self, other: &Self) -> AlgebraicResult<Self::T>

Implementors§