Skip to main content

Module select

Module select 

Source
Expand description

Candidate selection. See the rustc dev guide for more information on how this works.

Re-exportsยง

use rustc_errors::ErrorGuaranteed; ๐Ÿ”’
use rustc_hir::def_id::DefId; ๐Ÿ”’
use rustc_macros::StableHash; ๐Ÿ”’
use rustc_macros::TypeVisitable; ๐Ÿ”’
use rustc_type_ir::solve::AliasBoundKind; ๐Ÿ”’
use super::SelectionError; ๐Ÿ”’
use super::SelectionResult; ๐Ÿ”’
use crate::traits::cache::WithDepNodeCache; ๐Ÿ”’
use crate::ty; ๐Ÿ”’
use self::EvaluationResult::*; ๐Ÿ”’

Enumsยง

EvaluationResult
The result of trait evaluation. The order is important here as the evaluation of a list is the maximum of the evaluations.
OverflowError
Indicates that trait evaluation caused overflow and in which pass.
SelectionCandidate
The selection process begins by considering all impls, where clauses, and so forth that might resolve an obligation. Sometimes weโ€™ll be able to say definitively that (e.g.) an impl does not apply to the obligation: perhaps it is defined for usize but the obligation is for i32. In that case, we drop the impl out of the list. But the other cases are considered candidates.

Type Aliasesยง

EvaluationCache
SelectionCache