about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Schneider <oli-obk@users.noreply.github.com>2017-09-06 10:33:53 +0200
committerGitHub <noreply@github.com>2017-09-06 10:33:53 +0200
commit02fb1b0b724abef67591b3ff2ff966e6b031cdab (patch)
tree6aa705405993b1d5f0f10041456e937f74cc6edf
parentf83d20eff734310a0381b7c71e0192988b6b0847 (diff)
downloadrust-02fb1b0b724abef67591b3ff2ff966e6b031cdab.tar.gz
rust-02fb1b0b724abef67591b3ff2ff966e6b031cdab.zip
Fix a bug in the inliner
-rw-r--r--src/librustc_mir/transform/inline.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs
index 3f8070fb3aa..dc27da81978 100644
--- a/src/librustc_mir/transform/inline.rs
+++ b/src/librustc_mir/transform/inline.rs
@@ -616,8 +616,9 @@ impl<'a, 'tcx> MutVisitor<'tcx> for Integrator<'a, 'tcx> {
                 Operand::Consume(Lvalue::Local(l)) => *local = l,
                 ref op => bug!("Arg operand `{:?}` is {:?}, not local", idx, op)
             }
+        } else {
+            *local = self.local_map[Local::new(idx - self.args.len())];
         }
-        *local = self.local_map[Local::new(idx - self.args.len())];
     }
 
     fn visit_lvalue(&mut self,