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§
- MaxEscaping
Bound 🔒VarVisitor - Normalization
Result - Result of the
normalize_canonicalized_{{,inherent_}projection,free}queries. - Query
Normalizer 🔒