@@ -8,7 +8,6 @@ use crate::traits::*;
8
8
use crate :: MemFlags ;
9
9
10
10
use rustc_apfloat:: { ieee, Float , Round , Status } ;
11
- use rustc_hir:: lang_items:: LangItem ;
12
11
use rustc_middle:: mir;
13
12
use rustc_middle:: ty:: cast:: { CastTy , IntTy } ;
14
13
use rustc_middle:: ty:: layout:: { HasTyCtxt , LayoutOf } ;
@@ -486,39 +485,13 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
486
485
)
487
486
}
488
487
489
- mir:: Rvalue :: NullaryOp ( mir:: NullOp :: Box , content_ty) => {
490
- let content_ty = self . monomorphize ( content_ty) ;
491
- let content_layout = bx. cx ( ) . layout_of ( content_ty) ;
492
- let llsize = bx. cx ( ) . const_usize ( content_layout. size . bytes ( ) ) ;
493
- let llalign = bx. cx ( ) . const_usize ( content_layout. align . abi . bytes ( ) ) ;
494
- let box_layout = bx. cx ( ) . layout_of ( bx. tcx ( ) . mk_box ( content_ty) ) ;
495
- let llty_ptr = bx. cx ( ) . backend_type ( box_layout) ;
496
-
497
- // Allocate space:
498
- let def_id = match bx. tcx ( ) . lang_items ( ) . require ( LangItem :: ExchangeMalloc ) {
499
- Ok ( id) => id,
500
- Err ( s) => {
501
- bx. cx ( ) . sess ( ) . fatal ( & format ! ( "allocation of `{}` {}" , box_layout. ty, s) ) ;
502
- }
503
- } ;
504
- let instance = ty:: Instance :: mono ( bx. tcx ( ) , def_id) ;
505
- let r = bx. cx ( ) . get_fn_addr ( instance) ;
506
- let ty = bx. type_func ( & [ bx. type_isize ( ) , bx. type_isize ( ) ] , bx. type_i8p ( ) ) ;
507
- let call = bx. call ( ty, r, & [ llsize, llalign] , None ) ;
508
- let val = bx. pointercast ( call, llty_ptr) ;
509
-
510
- let operand = OperandRef { val : OperandValue :: Immediate ( val) , layout : box_layout } ;
511
- ( bx, operand)
512
- }
513
-
514
488
mir:: Rvalue :: NullaryOp ( null_op, ty) => {
515
489
let ty = self . monomorphize ( ty) ;
516
490
assert ! ( bx. cx( ) . type_is_sized( ty) ) ;
517
491
let layout = bx. cx ( ) . layout_of ( ty) ;
518
492
let val = match null_op {
519
493
mir:: NullOp :: SizeOf => layout. size . bytes ( ) ,
520
494
mir:: NullOp :: AlignOf => layout. align . abi . bytes ( ) ,
521
- mir:: NullOp :: Box => unreachable ! ( ) ,
522
495
} ;
523
496
let val = bx. cx ( ) . const_usize ( val) ;
524
497
let tcx = self . cx . tcx ( ) ;
0 commit comments