Struct rustc_trait_selection::infer::outlives::verify::VerifyBoundCx [−][src]
pub struct VerifyBoundCx<'cx, 'tcx> {
tcx: TyCtxt<'tcx>,
region_bound_pairs: &'cx Vec<(&'tcx RegionKind, GenericKind<'tcx>), Global>,
implicit_region_bound: Option<&'tcx RegionKind>,
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 Vec<(&'tcx RegionKind, GenericKind<'tcx>), Global>
implicit_region_bound: Option<&'tcx RegionKind>
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