Type Alias TraitPredicate
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: PredicatePolarityIf 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.)