Module rustc_trait_selection::traits::query[−][src]

Experimental types for the trait query interface. The methods defined in this module are all based on canonicalization, which makes a canonical query by replacing unbound inference variables and regions, so that results can be reused more broadly. The providers for the queries defined here can be found in librustc_traits.

Modules

dropck_outlives
evaluate_obligation
method_autoderef
normalize

Code for the ‘normalization’ query. This consists of a wrapper which folds deeply, invoking the underlying normalize_projection_ty query when it encounters projections.

outlives_bounds
type_op
type_op

Structs

CandidateStep
DropckOutlivesResult
DtorckConstraint

A set of constraints that need to be satisfied in order for a type to be valid for destruction.

MethodAutoderefBadTy
MethodAutoderefStepsResult
NoSolution
NormalizationResult

Result from the normalize_projection_ty query.

Enums

OutlivesBound

Outlives bounds are relationships between generic parameters, whether they both be regions ('a: 'b) or whether types are involved (T: 'a). These relationships can be extracted from the full set of predicates we understand or also from types (in which case they are called implied bounds). They are fed to the OutlivesEnv which in turn is supplied to the region checker and other parts of the inference system.

Type Definitions

CanonicalPredicateGoal
CanonicalProjectionGoal
CanonicalTyGoal
CanonicalTypeOpAscribeUserTypeGoal
CanonicalTypeOpEqGoal
CanonicalTypeOpNormalizeGoal
CanonicalTypeOpProvePredicateGoal
CanonicalTypeOpSubtypeGoal
Fallible