[][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
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 AssociatedTyDatum where the parameters P0..Pm are in scope (bounds and where_clauses).

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 FnDefDatum, including the function definition's type signature and where clauses.

ImplDatum
ImplDatumBound
OpaqueTyDatum

Represents the bounds for an impl Trait type.

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

ImplType
InlineBound

An inline bound, e.g. : Foo<K> in impl<K, T: Foo<K>> SomeType<T>.

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