Skip to main content

Module trait_goals

Module trait_goals 

Source
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ยง

TraitGoalProvenVia ๐Ÿ”’
How weโ€™ve proven this trait goal.

Functionsยง

trait_predicate_with_def_id ๐Ÿ”’
Small helper function to change the def_id of 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 from MetaSized to Sized, which happens as part of the lazy elaboration of sizedness candidates.