Enum rustc::middle::infer::unify::VarValueUnstable
[-] [+]
[src]
pub enum VarValue<K: UnifyKey> { Redirect(K), Root(K, usize), }
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, see
http://en.wikipedia.org/wiki/Disjoint-set_data_structure.
Variants
Redirect | |
Root |