Struct rustc_middle::ty::PredicateS
source · pub(crate) struct PredicateS<'tcx> {
kind: Binder<'tcx, PredicateKind<'tcx>>,
flags: TypeFlags,
outer_exclusive_binder: DebruijnIndex,
}Expand description
Represents a predicate.
See comments on TyS, which apply here too (albeit for
PredicateS/Predicate rather than TyS/Ty).
Fields§
§kind: Binder<'tcx, PredicateKind<'tcx>>§flags: TypeFlags§outer_exclusive_binder: DebruijnIndexSee the comment for the corresponding field of TyS.
Trait Implementations§
source§impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for PredicateS<'tcx>
impl<'tcx> ArenaAllocatable<'tcx, IsNotCopy> for PredicateS<'tcx>
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self
fn allocate_from_iter<'a>(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = Self>
) -> &'a mut [Self] ⓘ
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for PredicateS<'tcx>
impl<'tcx> !Send for PredicateS<'tcx>
impl<'tcx> !Sync for PredicateS<'tcx>
impl<'tcx> Unpin for PredicateS<'tcx>
impl<'tcx> !UnwindSafe for PredicateS<'tcx>
Blanket Implementations§
source§impl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo]) -> T
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: 48 bytes