[][src]Struct rustc_ap_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,
}

Fields

completed: Option<Vec<O>>

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

errors: Vec<Error<O, E>>

Backtrace of obligations that were found to be in error.

stalled: bool

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.