@@ -443,11 +443,8 @@ pub fn make_free_glue(bcx: block, v: ValueRef, t: ty::t) {
443
443
// Call the dtor if there is one
444
444
match ty:: ty_dtor ( bcx. tcx ( ) , did) {
445
445
ty:: NoDtor => bcx,
446
- ty:: LegacyDtor ( ref dt_id) => {
447
- trans_struct_drop ( bcx, t, v, * dt_id, did, substs, false )
448
- }
449
446
ty:: TraitDtor ( ref dt_id) => {
450
- trans_struct_drop ( bcx, t, v, * dt_id, did, substs, true )
447
+ trans_struct_drop ( bcx, t, v, * dt_id, did, substs)
451
448
}
452
449
}
453
450
}
@@ -461,8 +458,7 @@ pub fn trans_struct_drop(bcx: block,
461
458
v0 : ValueRef ,
462
459
dtor_did : ast:: def_id ,
463
460
class_did : ast:: def_id ,
464
- substs : & ty:: substs ,
465
- take_ref : bool )
461
+ substs : & ty:: substs )
466
462
-> block {
467
463
let repr = adt:: represent_type ( bcx. ccx ( ) , t) ;
468
464
let drop_flag = adt:: trans_drop_flag_ptr ( bcx, repr, v0) ;
@@ -484,15 +480,10 @@ pub fn trans_struct_drop(bcx: block,
484
480
// (self)
485
481
assert ! ( ( params. len( ) == 2 ) ) ;
486
482
487
- // If we need to take a reference to the class (because it's using
488
- // the Drop trait), do so now.
489
- let llval;
490
- if take_ref {
491
- llval = alloca ( bcx, val_ty ( v0) ) ;
492
- Store ( bcx, v0, llval) ;
493
- } else {
494
- llval = v0;
495
- }
483
+ // Take a reference to the class (because it's using the Drop trait),
484
+ // do so now.
485
+ let llval = alloca ( bcx, val_ty ( v0) ) ;
486
+ Store ( bcx, v0, llval) ;
496
487
497
488
let self_arg = PointerCast ( bcx, llval, params[ 1 ] ) ;
498
489
let args = ~[ C_null ( T_ptr ( T_i8 ( ) ) ) , self_arg] ;
@@ -534,10 +525,7 @@ pub fn make_drop_glue(bcx: block, v0: ValueRef, t: ty::t) {
534
525
let tcx = bcx. tcx ( ) ;
535
526
match ty:: ty_dtor ( tcx, did) {
536
527
ty:: TraitDtor ( dtor) => {
537
- trans_struct_drop ( bcx, t, v0, dtor, did, substs, true )
538
- }
539
- ty:: LegacyDtor ( dtor) => {
540
- trans_struct_drop ( bcx, t, v0, dtor, did, substs, false )
528
+ trans_struct_drop ( bcx, t, v0, dtor, did, substs)
541
529
}
542
530
ty:: NoDtor => {
543
531
// No dtor? Just the default case
0 commit comments