Expand description
Dealing with trait goals, i.e. T: Trait<'a, U>.
Re-exportsยง
use rustc_type_ir::data_structures::IndexSet;๐use rustc_type_ir::fast_reject::DeepRejectCtxt;๐use rustc_type_ir::lang_items::SolverTraitLangItem;๐use rustc_type_ir::solve::AliasBoundKind;๐use rustc_type_ir::solve::CandidatePreferenceMode;๐use rustc_type_ir::solve::CanonicalResponse;๐use rustc_type_ir::solve::ExternalConstraintsData;๐use rustc_type_ir::solve::IsIdentity;๐use rustc_type_ir::solve::MaybeInfo;๐use rustc_type_ir::solve::NoSolutionOrRerunNonErased;๐use rustc_type_ir::solve::OpaqueTypesJank;๐use rustc_type_ir::solve::QueryResultOrRerunNonErased;๐use rustc_type_ir::solve::RerunNonErased;๐use rustc_type_ir::solve::RerunReason;๐use rustc_type_ir::solve::RerunResultExt;๐use rustc_type_ir::solve::SizedTraitKind;๐use rustc_type_ir as ty;๐use rustc_type_ir::ClausePolarity;๐use rustc_type_ir::ExistentialPredicate;๐use rustc_type_ir::FieldInfo;๐use rustc_type_ir::IncludeSizedImplicitBounds;๐use rustc_type_ir::Interner;๐use rustc_type_ir::MayBeErased;๐use rustc_type_ir::Movability;๐use rustc_type_ir::Region;๐use rustc_type_ir::TraitClause;๐use rustc_type_ir::TraitRef;๐use rustc_type_ir::TypeVisitableExt as _;๐use rustc_type_ir::TypingMode;๐use rustc_type_ir::Unnormalized;๐use rustc_type_ir::Upcast as _;๐use rustc_type_ir::elaborate;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use tracing::trace;๐use tracing::warn;๐use crate::delegate::SolverDelegate;๐use crate::solve::assembly::structural_traits;๐use crate::solve::assembly::structural_traits::AsyncCallableRelevantTypes;๐use crate::solve::assembly;๐use crate::solve::assembly::AllowInferenceConstraints;๐use crate::solve::assembly::AssembleCandidatesFrom;๐use crate::solve::assembly::Candidate;๐use crate::solve::assembly::FailedCandidateInfo;๐use crate::solve::inspect::ProbeKind;๐use crate::solve::BuiltinImplSource;๐use crate::solve::CandidateSource;๐use crate::solve::Certainty;๐use crate::solve::EvalCtxt;๐use crate::solve::Goal;๐use crate::solve::GoalSource;๐use crate::solve::MaybeCause;๐use crate::solve::NoSolution;๐use crate::solve::ParamEnvSource;๐use crate::solve::StalledOnCoroutines;๐use crate::solve::flatten_answer_tree;๐use crate::solve::has_only_region_constraints;๐use rustc_type_ir::inherent::*;๐
Enumsยง
- Trait
Goal ๐Proven Via - How weโve proven this trait goal.
Functionsยง
- trait_
predicate_ ๐with_ def_ id - Small helper function to change the
def_idof a trait predicate - this is not normally something that you want to do, as different traits will require different args and so making it easy to change the trait is something of a footgun, but it is useful in the narrow circumstance of changing fromMetaSizedtoSized, which happens as part of the lazy elaboration of sizedness candidates.