[−][src]Module chalk_solve::rust_ir
Contains the definition for the "Rust IR" -- this is basically a "lowered" version of the AST, roughly corresponding to [the HIR] in the Rust compiler.
Structs
AdtDatum | |
AdtDatumBound | |
AdtFlags | |
AdtRepr | |
AdtVariantDatum | |
AliasEqBound | Represents an alias equality bound on e.g. a type or type parameter. Does not know anything about what it's binding. |
AssociatedTyDatum | Represents an associated type declaration found inside of a trait: |
AssociatedTyDatumBound | Encodes the parts of |
AssociatedTyValue | Represents the value of an associated type that is assigned from within some impl. |
AssociatedTyValueBound | |
AssociatedTyValueId | Identifier for an "associated type value" found in some impl. |
DefaultImplDatum | |
DefaultImplDatumBound | |
FnDefDatum | A rust intermediate represention (rust_ir) of a function definition/declaration. For example, in the following rust code: |
FnDefDatumBound | Represents the bounds on a |
FnDefInputsAndOutputDatum | Represents the inputs and outputs on a |
GeneratorDatum | Represents a generator type. |
GeneratorInputOutputDatum | The nested types for a generator. This always appears inside a |
GeneratorWitnessDatum | The generator witness data. Each |
GeneratorWitnessExistential | The generator witness types, together with existentially bound lifetimes. Each 'witness type' represents a type stored inside the generator across a yield. When a generator type is constructed, the precise region relationships found in the generator body are erased. As a result, we are left with existential lifetimes - each type is parameterized over some lifetimes, but we do not know their precise values. |
ImplDatum | |
ImplDatumBound | |
OpaqueTyDatum | Represents the bounds for an |
OpaqueTyDatumBound | |
TraitBound | Represents a trait bound on e.g. a type or type parameter. Does not know anything about what it's binding. |
TraitDatum | A rust intermediate representation (rust_ir) of a Trait Definition. For example, given the following rust code: |
TraitDatumBound | |
TraitFlags |
Enums
AdtKind | |
ClosureKind | Indicates the "most permissive" Fn-like trait that the closure implements. If the closure kind for a closure is FnMut, for example, then the closure implements FnMut and FnOnce. |
ImplType | |
InlineBound | An inline bound, e.g. |
Polarity | |
WellKnownTrait | A list of the traits that are "well known" to chalk, which means that the chalk-solve crate has special, hard-coded impls for them. |
Traits
Anonymize | |
IntoWhereClauses |
Type Definitions
QuantifiedInlineBound |