Enum rustc_trans::middle::infer::unify::VarValueUnstable
[-] [+]
[src]
pub enum VarValue<K> where K: UnifyKey {
Redirect(K),
Root(K::Value, 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 |