Type Alias TraitPredicate

Source
pub type TraitPredicate<'db> = TraitPredicate<DbInterner<'db>>;

Aliased Type§

pub struct TraitPredicate<'db> {
    pub trait_ref: TraitRef<DbInterner<'db>>,
    pub polarity: PredicatePolarity,
}

Fields§

§trait_ref: TraitRef<DbInterner<'db>>§polarity: PredicatePolarity

If polarity is Positive: we are proving that the trait is implemented.

If polarity is Negative: we are proving that a negative impl of this trait exists. (Note that coherence also checks whether negative impls of supertraits exist via a series of predicates.)