Struct rustc_const_eval::transform::check_consts::check::Qualifs
source · pub struct Qualifs<'mir, 'tcx> {
has_mut_interior: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, HasMutInterior>>>,
needs_drop: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, NeedsDrop>>>,
needs_non_const_drop: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, NeedsNonConstDrop>>>,
}
Fields§
§has_mut_interior: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, HasMutInterior>>>
§needs_drop: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, NeedsDrop>>>
§needs_non_const_drop: Option<ResultsCursor<'mir, 'tcx, FlowSensitiveAnalysis<'mir, 'mir, 'tcx, NeedsNonConstDrop>>>
Implementations§
source§impl<'mir, 'tcx> Qualifs<'mir, 'tcx>
impl<'mir, 'tcx> Qualifs<'mir, 'tcx>
sourcepub fn needs_drop(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
pub fn needs_drop(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
Returns true
if local
is NeedsDrop
at the given Location
.
Only updates the cursor if absolutely necessary
sourcepub fn needs_non_const_drop(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
pub fn needs_non_const_drop(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
Returns true
if local
is NeedsNonConstDrop
at the given Location
.
Only updates the cursor if absolutely necessary
sourcepub fn has_mut_interior(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
pub fn has_mut_interior(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
local: Local,
location: Location
) -> bool
Returns true
if local
is HasMutInterior
at the given Location
.
Only updates the cursor if absolutely necessary.
fn in_return_place(
&mut self,
ccx: &'mir ConstCx<'mir, 'tcx>,
tainted_by_errors: Option<ErrorGuaranteed>
) -> ConstQualifs
Trait Implementations§
Auto Trait Implementations§
impl<'mir, 'tcx> !RefUnwindSafe for Qualifs<'mir, 'tcx>
impl<'mir, 'tcx> !Send for Qualifs<'mir, 'tcx>
impl<'mir, 'tcx> !Sync for Qualifs<'mir, 'tcx>
impl<'mir, 'tcx> Unpin for Qualifs<'mir, 'tcx>where
'tcx: 'mir,
impl<'mir, 'tcx> !UnwindSafe for Qualifs<'mir, '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: 408 bytes