Module rustc::traits::codegen[][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 dep_graph::DepKind;
use dep_graph::DepTrackingMapConfig;
use std::marker::PhantomData;
use syntax_pos::DUMMY_SP;
use infer::InferCtxt;
use syntax_pos::Span;
use traits::FulfillmentContext;
use traits::Obligation;
use traits::ObligationCause;
use traits::SelectionContext;
use traits::TraitEngine;
use traits::Vtable;
use ty;
use ty::Ty;
use ty::TyCtxt;
use ty::subst::Subst;
use ty::subst::Substs;
use ty::fold::TypeFoldable;

Structs

ProjectionCache [
Experimental
]
TraitSelectionCache [
Experimental
]

Functions

codegen_fulfill_obligation [
Experimental
]

Attempts to resolve an obligation to a vtable.. The result is a shallow vtable resolution -- meaning that we do not (necessarily) resolve all nested obligations on the impl. Note that type check should guarantee to us that all nested obligations could be resolved if we wanted to. Assumes that this is run after the entire crate has been successfully type-checked.