Re-exportsΒ§
use std::ops::ControlFlow;πuse rustc_infer::infer::InferCtxt;πuse rustc_infer::traits::solve::inspect::ProbeKind;πuse rustc_infer::traits::solve::CandidateSource;πuse rustc_infer::traits::solve::Certainty;πuse rustc_infer::traits::solve::Goal;πuse rustc_infer::traits::solve::ParamEnvSource;πuse rustc_infer::traits::BuiltinImplSource;πuse rustc_infer::traits::ImplSource;πuse rustc_infer::traits::ImplSourceUserDefinedData;πuse rustc_infer::traits::Obligation;πuse rustc_infer::traits::ObligationCause;πuse rustc_infer::traits::PolyTraitObligation;πuse rustc_infer::traits::Selection;πuse rustc_infer::traits::SelectionError;πuse rustc_infer::traits::SelectionResult;πuse rustc_macros::extension;πuse rustc_span::Span;πuse rustc_span::bug;πuse rustc_span::span_bug;πuse thin_vec::thin_vec;πuse crate::solve::inspect;πuse crate::solve::inspect::InferCtxtProofTreeExt;π
StructsΒ§
- Select π
TraitsΒ§
FunctionsΒ§
- candidate_
should_ πbe_ dropped_ in_ favor_ of - This is a lot more limited than the old solverβs equivalent method. This may lead to more
Ok(None)results when selecting traits in polymorphic contexts, but we should never rely on the lack of ambiguity, and should always just gracefully fail here. We shouldnβt rely on this incompleteness. - to_
selection π