Trait lattices::DeepReveal

source ·
pub trait DeepReveal {
    type Revealed;

    // Required method
    fn deep_reveal(self) -> Self::Revealed;
}
Expand description

Trait for recursively revealing the underlying types within lattice types.

Required Associated Types§

source

type Revealed

The underlying type when revealed.

Required Methods§

source

fn deep_reveal(self) -> Self::Revealed

Reveals the underlying lattice types recursively.

Implementations on Foreign Types§

source§

impl DeepReveal for ()

§

type Revealed = ()

source§

fn deep_reveal(self) -> Self::Revealed

Implementors§

source§

impl<Inner> DeepReveal for WithBot<Inner>
where Inner: DeepReveal,

§

type Revealed = Option<<Inner as DeepReveal>::Revealed>

source§

impl<Inner> DeepReveal for WithTop<Inner>
where Inner: DeepReveal,

§

type Revealed = Option<<Inner as DeepReveal>::Revealed>

source§

impl<Key, Val> DeepReveal for DomPair<Key, Val>
where Key: DeepReveal, Val: DeepReveal,

§

type Revealed = (<Key as DeepReveal>::Revealed, <Val as DeepReveal>::Revealed)

source§

impl<Lat> DeepReveal for VecUnion<Lat>
where Lat: DeepReveal,

§

type Revealed = Vec<<Lat as DeepReveal>::Revealed>

source§

impl<LatA, LatB> DeepReveal for Pair<LatA, LatB>
where LatA: DeepReveal, LatB: DeepReveal,

§

type Revealed = (<LatA as DeepReveal>::Revealed, <LatB as DeepReveal>::Revealed)

source§

impl<Map> DeepReveal for UnionFind<Map>

§

type Revealed = Map

source§

impl<Map, Val> DeepReveal for MapUnion<Map>
where Map: Keyed<Item = Val> + MapMapValues<Val>, Val: DeepReveal,

§

type Revealed = <Map as MapMapValues<Val>>::MapValue<<Val as DeepReveal>::Revealed>

source§

impl<Set> DeepReveal for SetUnion<Set>

§

type Revealed = Set

source§

impl<T> DeepReveal for Conflict<T>

§

type Revealed = Option<T>

source§

impl<T> DeepReveal for Max<T>

§

type Revealed = T

source§

impl<T> DeepReveal for Min<T>

§

type Revealed = T

source§

impl<T, Provenance> DeepReveal for Point<T, Provenance>

§

type Revealed = T