Skip to main content

Module candidate_assembly

Module candidate_assembly 

Source
Expand description

Candidate assembly.

The selection process begins by examining all in-scope impls, caller obligations, and so forth and assembling a list of candidates. See the rustc dev guide for more details.

Re-exportsยง

use std::ops::ControlFlow; ๐Ÿ”’
use hir::def_id::DefId; ๐Ÿ”’
use rustc_attr_ir::lang_items::LangItem; ๐Ÿ”’
use rustc_data_structures::fx::FxHashSet; ๐Ÿ”’
use rustc_data_structures::fx::FxIndexSet; ๐Ÿ”’
use rustc_hir as hir; ๐Ÿ”’
use rustc_hir::CoroutineDesugaring; ๐Ÿ”’
use rustc_hir::CoroutineKind; ๐Ÿ”’
use rustc_infer::traits::Obligation; ๐Ÿ”’
use rustc_infer::traits::PolyTraitObligation; ๐Ÿ”’
use rustc_infer::traits::PredicateObligation; ๐Ÿ”’
use rustc_infer::traits::SelectionError; ๐Ÿ”’
use rustc_middle::ty::fast_reject::DeepRejectCtxt; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::CallerBoundsIterator; ๐Ÿ”’
use rustc_middle::ty::ExistentialPredicate; ๐Ÿ”’
use rustc_middle::ty::FieldInfo; ๐Ÿ”’
use rustc_middle::ty::IncludeSizedImplicitBounds; ๐Ÿ”’
use rustc_middle::ty::SizedTraitKind; ๐Ÿ”’
use rustc_middle::ty::TraitRef; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_middle::ty::TypeVisitableExt; ๐Ÿ”’
use rustc_middle::ty::elaborate; ๐Ÿ”’
use rustc_span::DUMMY_SP; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::span_bug; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use tracing::instrument; ๐Ÿ”’
use tracing::trace; ๐Ÿ”’
use super::SelectionCandidateSet; ๐Ÿ”’
use super::SelectionContext; ๐Ÿ”’
use super::TraitObligationStack; ๐Ÿ”’
use crate::traits::query::evaluate_obligation::InferCtxtExt; ๐Ÿ”’
use crate::traits::util; ๐Ÿ”’
use super::SelectionCandidate::*; ๐Ÿ”’