Re-exportsยง
use std::cell::RefCell;๐use std::fmt::Debug;๐use std::fmt::Debug;๐use rustc_data_structures::fx::FxIndexSet;๐use rustc_errors::ErrorGuaranteed;๐use rustc_hir::def_id::DefId;๐use rustc_hir::def_id::LocalDefId;๐use rustc_infer::infer::at::ToTrace;๐use rustc_infer::infer::canonical::Canonical;๐use rustc_infer::infer::canonical::CanonicalQueryResponse;๐use rustc_infer::infer::canonical::CanonicalVarValues;๐use rustc_infer::infer::canonical::QueryResponse;๐use rustc_infer::infer::DefineOpaqueTypes;๐use rustc_infer::infer::InferCtxt;๐use rustc_infer::infer::InferOk;๐use rustc_infer::infer::RegionResolutionError;๐use rustc_infer::infer::TypeTrace;๐use rustc_infer::traits::PredicateObligations;๐use rustc_infer::traits::TraitErrors;๐use rustc_middle::arena::ArenaAllocatable;๐use rustc_middle::traits::query::NoSolution;๐use rustc_middle::ty::error::TypeError;๐use rustc_middle::ty::relate::Relate;๐use rustc_middle::ty;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::TypeFoldable;๐use rustc_middle::ty::Unnormalized;๐use rustc_middle::ty::Upcast;๐use rustc_middle::ty::Variance;๐use thin_vec::ThinVec;๐use super::FromSolverError;๐use super::FulfillmentContext;๐use super::ScrubbedTraitError;๐use super::TraitEngine;๐use crate::error_reporting::InferCtxtErrorExt;๐use crate::regions::InferCtxtRegionExt;๐use crate::solve::FulfillmentCtxt as NextFulfillmentCtxt;๐use crate::solve::NextSolverError;๐use crate::traits::fulfill::OldSolverError;๐use crate::traits::FulfillmentError;๐use crate::traits::NormalizeExt;๐use crate::traits::Obligation;๐use crate::traits::ObligationCause;๐use crate::traits::PredicateObligation;๐use crate::traits::StructurallyNormalizeExt;๐
Structsยง
- Obligation
Ctxt - Used if you want to have pleasant experience when dealing with obligations outside of hir or mir typeck.
Enumsยง
- Fulfillment
Engine - A fulfillment engine, stored inline rather than boxed as a
dyn TraitEnginebecause some of its holders (e.g.ObligationCtxt) are created very often (once per candidate probe during method resolution), so the heap allocation would be expensive.