pub trait Elaboratable<I: Interner> {
// Required methods
fn predicate(&self) -> I::Predicate;
fn child(&self, clause: I::Clause) -> Self;
fn child_with_derived_cause(
&self,
clause: I::Clause,
span: I::Span,
parent_trait_pred: Binder<I, TraitPredicate<I>>,
index: usize,
) -> Self;
}
Expand description
Describes how to elaborate an obligation into a sub-obligation.
Required Methods§
fn predicate(&self) -> I::Predicate
fn child(&self, clause: I::Clause) -> Self
fn child_with_derived_cause( &self, clause: I::Clause, span: I::Span, parent_trait_pred: Binder<I, TraitPredicate<I>>, index: usize, ) -> Self
Object Safety§
This trait is not object safe.