[][src]Module cranelift_codegen_meta::cdsl::type_inference

Structs

TypeEnvironment

Class encapsulating the necessary bookkeeping for type inference.

Enums

Constraint
TypeEnvRank

Functions

canonicalize_derivations

Normalize a (potentially derived) typevar using the following rules:

constrain_fixpoint

Given typevars tv1 and tv2 (which could be derived from one another), constrain their typesets to be the same. When one is derived from the other, repeat the constrain process until a fixed point is reached.

infer_definition

Perform type inference on one Def in the current type environment and return an updated type environment or error.

infer_transform

Perform type inference on an transformation. Return an updated type environment or error.

substitute

Replaces an external type variable according to the following rules:

unify

Unify tv1 and tv2 in the given type environment. tv1 must have a rank greater or equal to tv2's one, modulo commutations.