pub(crate) struct ConstraintConversion<'a, 'tcx> {
infcx: &'a InferCtxt<'a, 'tcx>,
tcx: TyCtxt<'tcx>,
universal_regions: &'a UniversalRegions<'tcx>,
region_bound_pairs: &'a RegionBoundPairs<'tcx>,
implicit_region_bound: Option<Region<'tcx>>,
param_env: ParamEnv<'tcx>,
locations: Locations,
category: ConstraintCategory,
constraints: &'a mut MirTypeckRegionConstraints<'tcx>,
}Fields
infcx: &'a InferCtxt<'a, 'tcx>tcx: TyCtxt<'tcx>universal_regions: &'a UniversalRegions<'tcx>region_bound_pairs: &'a RegionBoundPairs<'tcx>implicit_region_bound: Option<Region<'tcx>>param_env: ParamEnv<'tcx>locations: Locationscategory: ConstraintCategoryconstraints: &'a mut MirTypeckRegionConstraints<'tcx>Implementations
pub(crate) fn new(
infcx: &'a InferCtxt<'a, 'tcx>,
universal_regions: &'a UniversalRegions<'tcx>,
region_bound_pairs: &'a RegionBoundPairs<'tcx>,
implicit_region_bound: Option<Region<'tcx>>,
param_env: ParamEnv<'tcx>,
locations: Locations,
category: ConstraintCategory,
constraints: &'a mut MirTypeckRegionConstraints<'tcx>
) -> Self
fn verify_to_type_test(
&mut self,
generic_kind: GenericKind<'tcx>,
region: Region<'tcx>,
verify_bound: VerifyBound<'tcx>
) -> TypeTest<'tcx>
Trait Implementations
fn push_sub_region_constraint(
&mut self,
_origin: SubregionOrigin<'tcx>,
a: Region<'tcx>,
b: Region<'tcx>
)
fn push_verify(
&mut self,
_origin: SubregionOrigin<'tcx>,
kind: GenericKind<'tcx>,
a: Region<'tcx>,
bound: VerifyBound<'tcx>
)
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for ConstraintConversion
impl<'a, 'tcx> !Send for ConstraintConversion
impl<'a, 'tcx> !Sync for ConstraintConversion
impl<'a, 'tcx> Unpin for ConstraintConversion where
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for ConstraintConversion
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: 96 bytes