rename schedule_drop_{enum,adt}_contents.
This commit is contained in:
parent
da2276e293
commit
0930d383cb
@ -438,10 +438,10 @@ impl<'blk, 'tcx> CleanupMethods<'blk, 'tcx> for FunctionContext<'blk, 'tcx> {
|
|||||||
/// `ty`. The scheduled code handles extracting the discriminant
|
/// `ty`. The scheduled code handles extracting the discriminant
|
||||||
/// and dropping the contents associated with that variant
|
/// and dropping the contents associated with that variant
|
||||||
/// *without* executing any associated drop implementation.
|
/// *without* executing any associated drop implementation.
|
||||||
fn schedule_drop_enum_contents(&self,
|
fn schedule_drop_adt_contents(&self,
|
||||||
cleanup_scope: ScopeId,
|
cleanup_scope: ScopeId,
|
||||||
val: ValueRef,
|
val: ValueRef,
|
||||||
ty: Ty<'tcx>) {
|
ty: Ty<'tcx>) {
|
||||||
// `if` below could be "!contents_needs_drop"; skipping drop
|
// `if` below could be "!contents_needs_drop"; skipping drop
|
||||||
// is just an optimization, so sound to be conservative.
|
// is just an optimization, so sound to be conservative.
|
||||||
if !self.type_needs_drop(ty) { return; }
|
if !self.type_needs_drop(ty) { return; }
|
||||||
@ -455,7 +455,7 @@ impl<'blk, 'tcx> CleanupMethods<'blk, 'tcx> for FunctionContext<'blk, 'tcx> {
|
|||||||
skip_dtor: true,
|
skip_dtor: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
debug!("schedule_drop_enum_contents({:?}, val={}, ty={}) fill_on_drop={} skip_dtor={}",
|
debug!("schedule_drop_adt_contents({:?}, val={}, ty={}) fill_on_drop={} skip_dtor={}",
|
||||||
cleanup_scope,
|
cleanup_scope,
|
||||||
self.ccx.tn().val_to_string(val),
|
self.ccx.tn().val_to_string(val),
|
||||||
ty.repr(self.ccx.tcx()),
|
ty.repr(self.ccx.tcx()),
|
||||||
@ -1240,10 +1240,10 @@ pub trait CleanupMethods<'blk, 'tcx> {
|
|||||||
cleanup_scope: ScopeId,
|
cleanup_scope: ScopeId,
|
||||||
val: ValueRef,
|
val: ValueRef,
|
||||||
ty: Ty<'tcx>);
|
ty: Ty<'tcx>);
|
||||||
fn schedule_drop_enum_contents(&self,
|
fn schedule_drop_adt_contents(&self,
|
||||||
cleanup_scope: ScopeId,
|
cleanup_scope: ScopeId,
|
||||||
val: ValueRef,
|
val: ValueRef,
|
||||||
ty: Ty<'tcx>);
|
ty: Ty<'tcx>);
|
||||||
fn schedule_drop_immediate(&self,
|
fn schedule_drop_immediate(&self,
|
||||||
cleanup_scope: ScopeId,
|
cleanup_scope: ScopeId,
|
||||||
val: ValueRef,
|
val: ValueRef,
|
||||||
|
@ -383,7 +383,7 @@ fn trans_struct_drop<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
|
|||||||
|
|
||||||
// Issue #23611: schedule cleanup of contents, re-inspecting the
|
// Issue #23611: schedule cleanup of contents, re-inspecting the
|
||||||
// discriminant (if any) in case of variant swap in drop code.
|
// discriminant (if any) in case of variant swap in drop code.
|
||||||
bcx.fcx.schedule_drop_enum_contents(cleanup::CustomScope(contents_scope), v0, t);
|
bcx.fcx.schedule_drop_adt_contents(cleanup::CustomScope(contents_scope), v0, t);
|
||||||
|
|
||||||
let glue_type = get_drop_glue_type(bcx.ccx(), t);
|
let glue_type = get_drop_glue_type(bcx.ccx(), t);
|
||||||
let dtor_ty = ty::mk_ctor_fn(bcx.tcx(), class_did, &[glue_type], ty::mk_nil(bcx.tcx()));
|
let dtor_ty = ty::mk_ctor_fn(bcx.tcx(), class_did, &[glue_type], ty::mk_nil(bcx.tcx()));
|
||||||
|
Loading…
Reference in New Issue
Block a user