Skip to main content

Module normalize

Module normalize 

Source
Expand description

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

Re-exports§

use rustc_data_structures::sso::SsoHashMap; 🔒
use rustc_infer::traits::PredicateObligations; 🔒
use rustc_macros::extension; 🔒
use rustc_middle::ty; 🔒
use rustc_middle::ty::FallibleTypeFolder; 🔒
use rustc_middle::ty::Flags; 🔒
use rustc_middle::ty::PredicateProxy; 🔒
use rustc_middle::ty::Ty; 🔒
use rustc_middle::ty::TyCtxt; 🔒
use rustc_middle::ty::TypeFoldable; 🔒
use rustc_middle::ty::TypeSuperFoldable; 🔒
use rustc_middle::ty::TypeSuperVisitable; 🔒
use rustc_middle::ty::TypeVisitable; 🔒
use rustc_middle::ty::TypeVisitableExt; 🔒
use rustc_middle::ty::TypeVisitor; 🔒
use rustc_middle::ty::TypingMode; 🔒
use rustc_middle::ty::Unnormalized; 🔒
use rustc_span::DUMMY_SP; 🔒
use tracing::debug; 🔒
use tracing::info; 🔒
use tracing::instrument; 🔒
use tracing::instrument; 🔒
use super::NoSolution; 🔒
use crate::error_reporting::InferCtxtErrorExt; 🔒
use crate::error_reporting::traits::OverflowCause; 🔒
use crate::infer::at::At; 🔒
use crate::infer::canonical::OriginalQueryValues; 🔒
use crate::infer::InferCtxt; 🔒
use crate::infer::InferOk; 🔒
use crate::traits::normalize::needs_normalization; 🔒
use crate::traits::BoundVarReplacer; 🔒
use crate::traits::FulfillmentError; 🔒
use crate::traits::FulfillmentErrorCode; 🔒
use crate::traits::Normalized; 🔒
use crate::traits::ObligationCause; 🔒
use crate::traits::PlaceholderReplacer; 🔒

Structs§

MaxEscapingBoundVarVisitor 🔒
NormalizationResult
Result of the normalize_canonicalized_{{,inherent_}projection,free} queries.
QueryNormalizer 🔒

Traits§

QueryNormalizeExt