Struct rustc_data_structures::unify::UnificationTable [] [src]

pub struct UnificationTable<K: UnifyKey> { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (rustc_private)

Table of unification keys and their values.

Methods

impl<K: UnifyKey> UnificationTable<K>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Starts a new snapshot. Each snapshot must be either rolled back or committed in a "LIFO" (stack) order.

🔬 This is a nightly-only experimental API. (rustc_private)

Reverses all changes since the last snapshot. Also removes any keys that have been created since then.

🔬 This is a nightly-only experimental API. (rustc_private)

Commits all changes since the last snapshot. Of course, they can still be undone if there is a snapshot further out.

🔬 This is a nightly-only experimental API. (rustc_private)

impl<'tcx, K: UnifyKey> UnificationTable<K> where K::Value: Combine
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

impl<'tcx, K, V> UnificationTable<K> where K: UnifyKey<Value=Option<V>>,
        V: Clone + PartialEq + Debug
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Sets the value of the key a_id to b. Because simple keys do not have any subtyping relationships, if a_id already has a value, it must be the same as b.

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)