Trait rustc_lint::middle::infer::unify::UnifyKeyUnstable
[-] [+]
[src]
pub trait UnifyKey: PartialEq<Self> + Clone + Debug { type Value: UnifyValue; fn index(&self) -> u32; fn from_index(u: u32) -> Self; 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.