Re-exportsΒ§
use std::cell::Cell;πuse std::cell::RefCell;πuse std::cmp::max;πuse std::ops::Deref;πuse std::assert_matches;πuse std::debug_assert_matches;πuse rustc_attr_ir::find_attr;πuse rustc_attr_ir::lang_items::LangItem;πuse rustc_data_structures::fx::FxHashSet;πuse rustc_data_structures::sso::SsoHashSet;πuse rustc_errors::Applicability;πuse rustc_errors::Diag;πuse rustc_errors::DiagCtxtHandle;πuse rustc_errors::Diagnostic;πuse rustc_errors::Level;πuse rustc_hir::def::DefKind;πuse rustc_hir as hir;πuse rustc_hir::ExprKind;πuse rustc_hir::HirId;πuse rustc_hir::Node;πuse rustc_hir_analysis::autoderef;πuse rustc_hir_analysis::autoderef::Autoderef;πuse rustc_infer::infer::canonical::Canonical;πuse rustc_infer::infer::canonical::OriginalQueryValues;πuse rustc_infer::infer::canonical::QueryResponse;πuse rustc_infer::infer::BoundRegionConversionTime;πuse rustc_infer::infer::DefineOpaqueTypes;πuse rustc_infer::infer::InferOk;πuse rustc_infer::infer::TyCtxtInferExt;πuse rustc_infer::traits::ObligationCauseCode;πuse rustc_infer::traits::PredicateObligation;πuse rustc_infer::traits::query;πuse rustc_lint_defs::builtin::METHOD_CALL_ON_DIVERGING_INFER_VAR;πuse rustc_lint_defs::builtin::TYVAR_BEHIND_RAW_POINTER;πuse rustc_lint_defs::builtin::UNSTABLE_NAME_COLLISIONS;πuse rustc_macros::Diagnostic;πuse rustc_middle::middle::stability;πuse rustc_middle::ty::elaborate::supertrait_def_ids;πuse rustc_middle::ty::fast_reject::DeepRejectCtxt;πuse rustc_middle::ty::fast_reject::TreatParams;πuse rustc_middle::ty::fast_reject::simplify_type;πuse rustc_middle::ty;πuse rustc_middle::ty::AssocContainer;πuse rustc_middle::ty::AssocItem;πuse rustc_middle::ty::GenericArgs;πuse rustc_middle::ty::GenericArgsRef;πuse rustc_middle::ty::GenericParamDefKind;πuse rustc_middle::ty::ParamEnvAnd;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_middle::ty::TypeVisitableExt;πuse rustc_middle::ty::Unnormalized;πuse rustc_middle::ty::Upcast;πuse rustc_span::def_id::DefId;πuse rustc_span::def_id::LocalDefId;πuse rustc_span::edit_distance::edit_distance_with_substrings;πuse rustc_span::edit_distance::find_best_match_for_name_with_substrings;πuse rustc_span::DUMMY_SP;πuse rustc_span::Ident;πuse rustc_span::Span;πuse rustc_span::Symbol;πuse rustc_span::bug;πuse rustc_span::span_bug;πuse rustc_trait_selection::error_reporting::infer::need_type_info::TypeAnnotationNeeded;πuse rustc_trait_selection::infer::InferCtxtExt as _;πuse rustc_trait_selection::solve::Goal;πuse rustc_trait_selection::traits::query::CanonicalMethodAutoderefStepsGoal;πuse rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt;πuse rustc_trait_selection::traits::query::method_autoderef::CandidateStep;πuse rustc_trait_selection::traits::query::method_autoderef::MethodAutoderefBadTy;πuse rustc_trait_selection::traits::query::method_autoderef::MethodAutoderefStepsResult;πuse rustc_trait_selection::traits;πuse rustc_trait_selection::traits::ObligationCause;πuse rustc_trait_selection::traits::ObligationCtxt;πuse smallvec::SmallVec;πuse tracing::debug;πuse tracing::instrument;πuse tracing::instrument;πuse super::CandidateSource;πuse super::MethodError;πuse super::NoMatchData;πuse super::suggest;πuse crate::FnCtxt;πuse self::CandidateKind::*;πpub(crate) use self::PickKind::*;π
StructsΒ§
- Candidate π
- IsSuggestion π
- Boolean flag used to indicate if this search is for a suggestion or not. If true, we can allow ambiguity and so forth.
- Pick π
- Pick
Constraints πForShadowed - Criteria to apply when searching for a given Pick. This is used during the search for potentially shadowed methods to ensure we donβt search more candidates than strictly necessary.
- Pick
Diag πHints - Extra information required only for error reporting.
- Probe
Context π
EnumsΒ§
- Autoref
OrPtr πAdjustment - When adjusting a receiver we often want to do one of
- Candidate
Kind π - Mode π
- Pick
Kind π - Probe
Result π - Probe
Scope π
FunctionsΒ§
Type AliasesΒ§
- Pick
Result π - Unsatisfied
Predicates π