Trait rustc_data_structures::obligation_forest::ObligationProcessor
[−]
[src]
pub trait ObligationProcessor { type Obligation: ForestObligation; type Error: Debug; fn process_obligation(&mut self,
obligation: &mut Self::Obligation)
-> Result<Option<Vec<Self::Obligation>>, Self::Error>; fn process_backedge<'c, I>(&mut self,
cycle: I,
_marker: PhantomData<&'c Self::Obligation>) where I: Clone + Iterator<Item=&'c Self::Obligation>; }
🔬 This is a nightly-only experimental API. (
rustc_private
)Associated Types
type Obligation: ForestObligation
🔬 This is a nightly-only experimental API. (
rustc_private
)type Error: Debug
🔬 This is a nightly-only experimental API. (
rustc_private
)Required Methods
fn process_obligation(&mut self,
obligation: &mut Self::Obligation)
-> Result<Option<Vec<Self::Obligation>>, Self::Error>
obligation: &mut Self::Obligation)
-> Result<Option<Vec<Self::Obligation>>, Self::Error>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn process_backedge<'c, I>(&mut self,
cycle: I,
_marker: PhantomData<&'c Self::Obligation>) where I: Clone + Iterator<Item=&'c Self::Obligation>
cycle: I,
_marker: PhantomData<&'c Self::Obligation>) where I: Clone + Iterator<Item=&'c Self::Obligation>
🔬 This is a nightly-only experimental API. (
rustc_private
)