# Trait rustc_middle::ty::inherent::Predicate

source ·

    pub trait Predicate<I>: 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 as Interner>::Clause> + UpcastFrom<I, NormalizesTo<I>> + UpcastFrom<I, TraitRef<I>> + UpcastFrom<I, Binder<I, TraitRef<I>>> + UpcastFrom<I, TraitPredicate<I>> + UpcastFrom<I, OutlivesPredicate<I, <I as Interner>::Ty>> + UpcastFrom<I, OutlivesPredicate<I, <I as Interner>::Region>> + IntoKind<Kind = Binder<I, PredicateKind<I>>>where
        I: Interner<Predicate = Self>,{
        // Required methods
        fn is_coinductive(self, interner: I) -> bool;
        fn allow_normalization(self) -> bool;
    }

## Required Methods§

source

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

source

#### fn allow_normalization(self) -> bool

## Object Safety§

This trait is not object safe.

## Implementors§

source§

### impl<'tcx> Predicate<TyCtxt<'tcx>> for Predicate<'tcx>