Module rustc::traits::fulfill [−][src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Re-exports
use infer::RegionObligation; |
use infer::InferCtxt; |
use mir::interpret::GlobalId; |
use ty; |
use ty::Ty; |
use ty::TypeFoldable; |
use ty::ToPolyTraitRef; |
use ty::ToPredicate; |
use ty::error::ExpectedFound; |
use rustc_data_structures::obligation_forest::ObligationForest; |
use rustc_data_structures::obligation_forest::Error; |
use rustc_data_structures::obligation_forest::ForestObligation; |
use rustc_data_structures::obligation_forest::ObligationProcessor; |
use std::marker::PhantomData; |
use hir::def_id::DefId; |
use middle::const_val::ConstEvalErr; |
use middle::const_val::ErrKind; |
use super::CodeAmbiguity; |
use super::CodeProjectionError; |
use super::CodeSelectionError; |
use super::engine::TraitEngine; |
use super::FulfillmentError; |
use super::FulfillmentErrorCode; |
use super::ObligationCause; |
use super::PredicateObligation; |
use super::Obligation; |
use super::project; |
use super::select::SelectionContext; |
use super::Unimplemented; |
use super::ConstEvalFailure; |
Structs
FulfillProcessor |
[ Experimental ]
|
FulfillmentContext |
[ Experimental ] The fulfillment context is used to drive trait resolution. It
consists of a list of obligations that must be (eventually)
satisfied. The job is to track which are satisfied, which yielded
errors, and which are still pending. At any point, users can call
|
PendingPredicateObligation |
[ Experimental ]
|
Functions
process_predicate |
[ Experimental ] Processes a predicate obligation and returns either: |
to_fulfillment_error |
[ Experimental ]
|
trait_ref_type_vars |
[ Experimental ] Return the set of type variables contained in a trait ref |