Struct rustc_trait_selection::infer::outlives::verify::VerifyBoundCx
source · pub struct VerifyBoundCx<'cx, 'tcx> {
tcx: TyCtxt<'tcx>,
region_bound_pairs: &'cx IndexSet<OutlivesPredicate<GenericKind<'tcx>, Region<'tcx>>, BuildHasherDefault<FxHasher>>,
implicit_region_bound: Option<Region<'tcx>>,
param_env: ParamEnv<'tcx>,
}
Expand description
The TypeOutlives
struct has the job of “lowering” a T: 'a
obligation into a series of 'a: 'b
constraints and “verifys”, as
described on the module comment. The final constraints are emitted
via a “delegate” of type D
– this is usually the infcx
, which
accrues them into the region_obligations
code, but for NLL we
use something else.
Fields§
§tcx: TyCtxt<'tcx>
§region_bound_pairs: &'cx IndexSet<OutlivesPredicate<GenericKind<'tcx>, Region<'tcx>>, BuildHasherDefault<FxHasher>>
§implicit_region_bound: Option<Region<'tcx>>
§param_env: ParamEnv<'tcx>
Auto Trait Implementations§
impl<'cx, 'tcx> !RefUnwindSafe for VerifyBoundCx<'cx, 'tcx>
impl<'cx, 'tcx> !Send for VerifyBoundCx<'cx, 'tcx>
impl<'cx, 'tcx> !Sync for VerifyBoundCx<'cx, 'tcx>
impl<'cx, 'tcx> Unpin for VerifyBoundCx<'cx, 'tcx>where
'tcx: 'cx,
impl<'cx, 'tcx> !UnwindSafe for VerifyBoundCx<'cx, 'tcx>
Blanket Implementations§
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