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.)