[][src]Struct rustc_data_structures::obligation_forest::Outcome

pub struct Outcome<O, E> {
    pub completed: Option<Vec<O>>,
    pub errors: Vec<Error<O, E>>,
    pub stalled: bool,
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Fields

completed: Option<Vec<O>>
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Obligations that were completely evaluated, including all (transitive) subobligations. Only computed if requested.

errors: Vec<Error<O, E>>
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Backtrace of obligations that were found to be in error.

stalled: bool
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

If true, then we saw no successful obligations, which means there is no point in further iteration. This is based on the assumption that when trait matching returns Error or Unchanged, those results do not affect environmental inference state. (Note that if we invoke process_obligations with no pending obligations, stalled will be true.)

Trait Implementations

impl<O: Debug, E: Debug> Debug for Outcome<O, E>[src]

Auto Trait Implementations

impl<O, E> RefUnwindSafe for Outcome<O, E> where
    E: RefUnwindSafe,
    O: RefUnwindSafe

impl<O, E> Send for Outcome<O, E> where
    E: Send,
    O: Send

impl<O, E> Sync for Outcome<O, E> where
    E: Sync,
    O: Sync

impl<O, E> Unpin for Outcome<O, E> where
    E: Unpin,
    O: Unpin

impl<O, E> UnwindSafe for Outcome<O, E> where
    E: UnwindSafe,
    O: 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<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

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

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

impl<E> SpecializationError for E[src]

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.