diff --git a/src/librustc/mir/repr.rs b/src/librustc/mir/repr.rs index 0959bb078ed..bbc2464c117 100644 --- a/src/librustc/mir/repr.rs +++ b/src/librustc/mir/repr.rs @@ -584,7 +584,7 @@ pub enum Rvalue<'tcx> { from_end: usize, }, - InlineAsm(&'tcx InlineAsm), + InlineAsm(InlineAsm), } #[derive(Clone, Debug, PartialEq, Eq)] diff --git a/src/librustc_mir/build/expr/as_rvalue.rs b/src/librustc_mir/build/expr/as_rvalue.rs index 7f69b9a521f..2f57dd22454 100644 --- a/src/librustc_mir/build/expr/as_rvalue.rs +++ b/src/librustc_mir/build/expr/as_rvalue.rs @@ -40,7 +40,7 @@ impl<'a,'tcx> Builder<'a,'tcx> { this.in_scope(extent, block, |this| this.as_rvalue(block, value)) } ExprKind::InlineAsm { asm } => { - block.and(Rvalue::InlineAsm(asm)) + block.and(Rvalue::InlineAsm(asm.clone())) } ExprKind::Repeat { value, count } => { let value_operand = unpack!(block = this.as_operand(block, value)); diff --git a/src/librustc_trans/trans/mir/rvalue.rs b/src/librustc_trans/trans/mir/rvalue.rs index 17e4ec8e827..529e65dace0 100644 --- a/src/librustc_trans/trans/mir/rvalue.rs +++ b/src/librustc_trans/trans/mir/rvalue.rs @@ -120,7 +120,7 @@ impl<'bcx, 'tcx> MirContext<'bcx, 'tcx> { bcx } - mir::Rvalue::InlineAsm(inline_asm) => { + mir::Rvalue::InlineAsm(ref inline_asm) => { asm::trans_inline_asm(bcx, inline_asm) }