[−][src]Struct rustc_query_system::cache::Cache

pub struct Cache<Key, Value> {
    hashmap: Lock<FxHashMap<Key, WithDepNode<Value>>>,
}

Fields

hashmap: Lock<FxHashMap<Key, WithDepNode<Value>>>

Implementations

impl<Key, Value> Cache<Key, Value>[src]

pub fn clear(&self)[src]

Actually frees the underlying memory in contrast to what stdlib containers do on clear

impl<Key: Eq + Hash, Value: Clone> Cache<Key, Value>[src]

pub fn get<CTX: QueryContext>(&self, key: &Key, tcx: CTX) -> Option<Value>[src]

pub fn insert(&self, key: Key, dep_node: DepNodeIndex, value: Value)[src]

pub fn insert_same(&self, key: Key, dep_node: DepNodeIndex, value: Value) where
    Value: Eq, 
[src]

Trait Implementations

impl<Key: Clone, Value: Clone> Clone for Cache<Key, Value>[src]

impl<Key, Value> Default for Cache<Key, Value>[src]

Auto Trait Implementations

impl<Key, Value> !RefUnwindSafe for Cache<Key, Value>

impl<Key, Value> Send for Cache<Key, Value> where
    Key: Send,
    Value: Send, 

impl<Key, Value> !Sync for Cache<Key, Value>

impl<Key, Value> Unpin for Cache<Key, Value> where
    Key: Unpin,
    Value: Unpin, 

impl<Key, Value> UnwindSafe for Cache<Key, Value> where
    Key: UnwindSafe,
    Value: UnwindSafe, 

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.