Module rustc::traits::specialize::specialization_graph [−][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 super::OverlapError; |
use hir::def_id::DefId; |
use ich; |
use ich::StableHashingContext; |
use rustc_data_structures::stable_hasher::HashStable; |
use rustc_data_structures::stable_hasher::StableHasher; |
use rustc_data_structures::stable_hasher::StableHasherResult; |
use traits; |
use ty; |
use ty::TyCtxt; |
use ty::TypeFoldable; |
use ty::fast_reject; |
use ty::fast_reject::SimplifiedType; |
use rustc_data_structures::sync::Lrc; |
use syntax::ast::Name; |
use util::captures::Captures; |
use util::nodemap::DefIdMap; |
use util::nodemap::DefIdMap; |
use util::nodemap::FxHashMap; |
use util::nodemap::FxHashMap; |
Structs
Ancestors |
[ Experimental ]
|
Children |
[ Experimental ] Children of a given impl, grouped into blanket/non-blanket varieties as is
done in |
Graph |
[ Experimental ] A per-trait graph of impls in specialization order. At the moment, this graph forms a tree rooted with the trait itself, with all other nodes representing impls, and parent-child relationships representing specializations. |
NodeItem |
[ Experimental ]
|
Enums
Inserted |
[ Experimental ] The result of attempting to insert an impl into a group of children. |
Node |
[ Experimental ] A node in the specialization graph is either an impl or a trait definition; either can serve as a source of item definitions. There is always exactly one trait definition node: the root. |
Functions
ancestors |
[ Experimental ] Walk up the specialization ancestors of a given impl, starting with that impl itself. |