pub fn build_drop_and_replace(&mut self,
                                  block: BasicBlock,
                                  span: Span,
                                  location: Lvalue<'tcx>,
                                  value: Operand<'tcx>) -> BlockAnd<()> {
        let source_info = self.source_info(span);
        let next_target = self.cfg.start_new_block();
        let diverge_target = self.diverge_cleanup();
        self.cfg.terminate(block, source_info,
                           TerminatorKind::DropAndReplace {
                               location,
                               value,
                               target: next_target,
                               unwind: diverge_target,
                           });
        next_target.unit()
    }
/// Utility function for *non*-scope code to build their own drops
Utility function for *non*-scope code to build their own drops
Utility function for * non * - scope code to build their own drops
pub fn build_drop_and_replace(&mut self,
                                  block: BasicBlock,
                                  span: Span,
                                  location: Lvalue<'tcx>,
                                  value: Operand<'tcx>) -> BlockAnd<()> {
        let source_info = self.source_info(span);
        let next_target = self.cfg.start_new_block();
        let diverge_target = self.diverge_cleanup();
        self.cfg.terminate(block, source_info,
                           TerminatorKind::DropAndReplace {
                               location,
                               value,
                               target: next_target,
                               unwind: diverge_target,
                           });
        next_target.unit()
    }
pub fn build_drop_and_replace ( & mut self , block : BasicBlock , span : Span , location : Lvalue < ' tcx > , value : Operand < ' tcx > ) -> BlockAnd < ( ) > { let source_info = self . source_info ( span ) ; let next_target = self . cfg . start_new_block ( ) ; let diverge_target = self . diverge_cleanup ( ) ; self . cfg . terminate ( block , source_info , TerminatorKind :: DropAndReplace { location , value , target : next_target , unwind : diverge_target , } ) ; next_target . unit ( ) }
Utility function for *non*-scope code to build their own drops
Utility function for * non * - scope code to build their own drops
&mut self
block
BasicBlock
span
Span
location
Lvalue<'tcx>
value
Operand<'tcx>
&mut self
block
BasicBlock
span
Span
location
Lvalue<'tcx>
value
Operand<'tcx>