Type Alias rustc_middle::ty::PolyExistentialPredicate
source · pub type PolyExistentialPredicate<'tcx> = Binder<'tcx, ExistentialPredicate<'tcx>>;
Aliased Type§
struct PolyExistentialPredicate<'tcx> {
value: ExistentialPredicate<'tcx>,
bound_vars: &'tcx List<BoundVariableKind>,
}
Fields§
§value: ExistentialPredicate<'tcx>
§bound_vars: &'tcx List<BoundVariableKind>
Implementations§
source§impl<'tcx> PolyExistentialPredicate<'tcx>
impl<'tcx> PolyExistentialPredicate<'tcx>
sourcepub fn with_self_ty(&self, tcx: TyCtxt<'tcx>, self_ty: Ty<'tcx>) -> Clause<'tcx>
pub fn with_self_ty(&self, tcx: TyCtxt<'tcx>, self_ty: Ty<'tcx>) -> Clause<'tcx>
Given an existential predicate like ?Self: PartialEq<u32>
(e.g., derived from dyn PartialEq<u32>
),
and a concrete type self_ty
, returns a full predicate where the existentially quantified variable ?Self
has been replaced with self_ty
(e.g., self_ty: PartialEq<u32>
, in our example).
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