rustc_data_structures::unify

Trait UnificationStoreBase

Source
pub trait UnificationStoreBase: Index<usize, Output = VarValue<Self::Key>> {
    type Key: UnifyKey<Value = Self::Value>;
    type Value: UnifyValue;

    // Required method
    fn len(&self) -> usize;

    // Provided method
    fn tag() -> &'static str { ... }
}
Expand description

Largely internal trait implemented by the unification table backing store types. The most common such type is InPlace, which indicates a standard, mutable unification table.

Required Associated Types§

Source

type Key: UnifyKey<Value = Self::Value>

Source

type Value: UnifyValue

Required Methods§

Source

fn len(&self) -> usize

Provided Methods§

Source

fn tag() -> &'static str

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<K, V, L> UnificationStoreBase for InPlace<K, V, L>
where K: UnifyKey, V: VecLike<Delegate<K>>,

Source§

type Key = K

Source§

type Value = <K as UnifyKey>::Value