VarValue in rustc_data_structures::unify - Rust (original) (raw)

pub struct VarValue<K>

where
    K: UnifyKey,

{
    parent: K,
    value: <K as UnifyKey>::Value,
    rank: u32,
}

Expand description

Value of a unification key. We implement Tarjan’s union-find algorithm: when two keys are unified, one of them is converted into a “redirect” pointing at the other. These redirects form a DAG: the roots of the DAG (nodes that are not redirected) are each associated with a value of type V and a rank. The rank is used to keep the DAG relatively balanced, which helps keep the running time of the algorithm under control. For more information, seehttp://en.wikipedia.org/wiki/Disjoint-set_data_structure.

Source§

Source§

Source§

Source§

Tests for self and other values to be equal, and is used by ==.

1.0.0 · Source§

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Source§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.