Struct rustc_data_structures::obligation_forest::ObligationForest
[−]
[src]
pub struct ObligationForest<O: ForestObligation> { /* fields omitted */ }
🔬 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?
Methods
impl<O: ForestObligation> ObligationForest<O>
[src]
pub fn new() -> ObligationForest<O>
[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?
pub fn len(&self) -> usize
[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?
Return the total number of nodes in the forest that have not yet been fully resolved.
pub fn register_obligation(&mut self, obligation: O)
[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?
Registers an obligation
This CAN be done in a snapshot
pub fn to_errors<E: Clone>(&mut self, error: E) -> Vec<Error<O, E>>
[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?
Convert all remaining obligations to the given error.
This cannot be done during a snapshot.
pub fn pending_obligations(&self) -> Vec<O> where
O: Clone,
[src]
O: Clone,
🔬 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?
Returns the set of obligations that are in a pending state.
pub fn process_obligations<P>(
&mut self,
processor: &mut P
) -> Outcome<O, P::Error> where
P: ObligationProcessor<Obligation = O>,
[src]
&mut self,
processor: &mut P
) -> Outcome<O, P::Error> where
P: ObligationProcessor<Obligation = O>,
🔬 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?
Perform a pass through the obligation list. This must
be called in a loop until outcome.stalled
is false.
This CANNOT be unrolled (presently, at least).