Trait rustc_trans::middle::infer::unify::UnifyKeyExperimental
[-]
[+]
[src]
pub trait UnifyKey<'tcx, V>: Repr<'tcx> + PartialEq<Self> + Clone + Show {
fn index(&self) -> uint;
fn from_index(u: uint) -> Self;
fn unification_table(infcx: &'v InferCtxt) -> &'v RefCell<UnificationTable<Self, V>>;
fn tag(k: Option<Self>) -> &'static str;
}This trait is implemented by any type that can serve as a type
variable. We call such variables unification keys. For example,
this trait is implemented by IntVid, which represents integral
variables.
Each key type has an associated value type V. For example, for
IntVid, this is Option<IntVarValue>, representing some
(possibly not yet known) sort of integer.
Implementations of this trait are at the end of this file.