pub struct ParamEnv<'tcx> {
pub generics: TyGenerics<'tcx>,
pub extra_early_regions: Vec<PlaceholderRegion>,
pub predicates: GenericPredicates<'tcx>,
pub parent: Option<ItemRef<'tcx>>,
}Expand description
The combination of type generics and related predicates.
Fields§
§generics: TyGenerics<'tcx>Generic parameters of the item.
extra_early_regions: Vec<PlaceholderRegion>Extra early regions that we add to replace regions that rustc normally erases. We represent them with placeholders so the types that mention them can still flow through rustc APIs.
predicates: GenericPredicates<'tcx>Required predicates for the item (see traits::utils::required_predicates).
parent: Option<ItemRef<'tcx>>A reference to the parent of this item, with appropriate args.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'tcx> DynSend for ParamEnv<'tcx>
impl<'tcx> DynSync for ParamEnv<'tcx>
impl<'tcx> Freeze for ParamEnv<'tcx>
impl<'tcx> RefUnwindSafe for ParamEnv<'tcx>
impl<'tcx> Send for ParamEnv<'tcx>
impl<'tcx> Sync for ParamEnv<'tcx>
impl<'tcx> Unpin for ParamEnv<'tcx>
impl<'tcx> UnsafeUnpin for ParamEnv<'tcx>
impl<'tcx> UnwindSafe for ParamEnv<'tcx>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more