Struct rustc::dep_graph::DepTrackingMap
[−]
[src]
pub struct DepTrackingMap<M: DepTrackingMapConfig> { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
rustc_private
)A DepTrackingMap offers a subset of the Map
API and ensures that
we make calls to read
and write
as appropriate. We key the
maps with a unique type for brevity.
Methods
impl<M: DepTrackingMapConfig> DepTrackingMap<M>
[src]
fn new(graph: DepGraph) -> DepTrackingMap<M>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn get(&self, k: &M::Key) -> Option<&M::Value>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn insert(&mut self, k: M::Key, v: M::Value)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn entry(&mut self, k: M::Key) -> Entry<M::Key, M::Value>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn contains_key(&self, k: &M::Key) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private
)fn keys(&self) -> Vec<M::Key>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn push<E: Clone>(&mut self, k: M::Key, elem: E) where M: DepTrackingMapConfig<Value=Vec<E>>
🔬 This is a nightly-only experimental API. (
rustc_private
)Append elem
to the vector stored for k
, creating a new vector if needed.
This is considered a write to k
.
NOTE: Caution is required when using this method. You should be sure that nobody is reading from the vector while you are writing to it. Eventually, it'd be nice to remove this.