# Type Alias rustc_middle::ty::predicate::PolyTraitPredicate

source ·

    pub type PolyTraitPredicate<'tcx> = Binder<'tcx, TraitPredicate<'tcx>>;

## Aliased Type§

    struct PolyTraitPredicate<'tcx> {
        value: TraitPredicate<'tcx>,
        bound_vars: &'tcx List<BoundVariableKind>,
    }

## Fields§

§`value: TraitPredicate<'tcx>`§`bound_vars: &'tcx List<BoundVariableKind>`

## Implementations§

source§

### impl<'tcx> PolyTraitPredicate<'tcx>

source

#### pub fn print_modifiers_and_trait_path( self ) -> Binder<'tcx, TraitPredPrintModifiersAndPath<'tcx>>

source§

### impl<'tcx> PolyTraitPredicate<'tcx>

source

#### pub fn def_id(self) -> DefId

source

#### pub fn self_ty(self) -> Binder<'tcx, Ty<'tcx>>

source

#### pub fn polarity(self) -> ImplPolarity

## Trait Implementations§

source§

### impl<'tcx> ToPolyTraitRef<'tcx> for PolyTraitPredicate<'tcx>

source§

#### fn to_poly_trait_ref(&self) -> PolyTraitRef<'tcx>

source§

### impl<'tcx> ToPredicate<'tcx> for PolyTraitPredicate<'tcx>

source§

#### fn to_predicate(self, tcx: TyCtxt<'tcx>) -> Predicate<'tcx>

source§

### impl<'tcx> ToPredicate<'tcx, Clause<'tcx>> for PolyTraitPredicate<'tcx>

source§

#### fn to_predicate(self, tcx: TyCtxt<'tcx>) -> Clause<'tcx>

## Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain `repr(...)` attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes