Trait rustc_typeck::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.