Trait rustc_type_ir::inherent::Predicate

source ·
pub trait Predicate<I: Interner<Predicate = Self>>: Copy + Debug + Hash + Eq + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Flags + UpcastFrom<I, PredicateKind<I>> + UpcastFrom<I, Binder<I, PredicateKind<I>>> + UpcastFrom<I, ClauseKind<I>> + UpcastFrom<I, Binder<I, ClauseKind<I>>> + UpcastFrom<I, I::Clause> + UpcastFrom<I, NormalizesTo<I>> + UpcastFrom<I, TraitRef<I>> + UpcastFrom<I, Binder<I, TraitRef<I>>> + UpcastFrom<I, TraitPredicate<I>> + UpcastFrom<I, OutlivesPredicate<I, I::Ty>> + UpcastFrom<I, OutlivesPredicate<I, I::Region>> + IntoKind<Kind = Binder<I, PredicateKind<I>>> {
    // Required methods
    fn as_clause(self) -> Option<I::Clause>;
    fn is_coinductive(self, interner: I) -> bool;
    fn allow_normalization(self) -> bool;
}

Required Methods§

source

fn as_clause(self) -> Option<I::Clause>

source

fn is_coinductive(self, interner: I) -> bool

source

fn allow_normalization(self) -> bool

Object Safety§

This trait is not object safe.

Implementors§