Trait rustc_type_ir::elaborate::Elaboratable

source ·
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§

source

fn predicate(&self) -> I::Predicate

source

fn child(&self, clause: I::Clause) -> Self

source

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.

Implementors§