Struct rustc::ty::CrateVariancesMap
[−]
[src]
pub struct CrateVariancesMap { pub variances: FxHashMap<DefId, Rc<Vec<Variance>>>, pub empty_variance: Rc<Vec<Variance>>, }
🔬 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?
The crate variances map is computed during typeck and contains the
variance of every item in the local crate. You should not use it
directly, because to do so will make your pass dependent on the
HIR of every item in the local crate. Instead, use
tcx.variances_of()
to get the variance for a particular
item.
Fields
variances: FxHashMap<DefId, Rc<Vec<Variance>>>
🔬 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?
For each item with generics, maps to a vector of the variance of its generics. If an item has no generics, it will have no entry.
empty_variance: Rc<Vec<Variance>>
🔬 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?
An empty vector, useful for cloning.
Trait Implementations
impl<'gcx> HashStable<StableHashingContext<'gcx>> for CrateVariancesMap
[src]
fn hash_stable<W: StableHasherResult>(
&self,
hcx: &mut StableHashingContext<'gcx>,
hasher: &mut StableHasher<W>
)
[src]
&self,
hcx: &mut StableHashingContext<'gcx>,
hasher: &mut StableHasher<W>
)
🔬 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?