Skip to main content

Module probe

Module probe 

Source

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 πŸ”’
PickConstraintsForShadowed πŸ”’
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.
PickDiagHints πŸ”’
Extra information required only for error reporting.
ProbeContext πŸ”’

EnumsΒ§

AutorefOrPtrAdjustment πŸ”’
When adjusting a receiver we often want to do one of
CandidateKind πŸ”’
Mode πŸ”’
PickKind πŸ”’
ProbeResult πŸ”’
ProbeScope πŸ”’

FunctionsΒ§

method_autoderef_steps πŸ”’

Type AliasesΒ§

PickResult πŸ”’
UnsatisfiedPredicates πŸ”’