diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-09-03 21:55:41 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-09-03 21:55:41 +0300 |
| commit | 2f42cd848905e4d473cacce0d9da769b2e712f0c (patch) | |
| tree | ce1bf0fcc9c822e2ef31a1a5d7e0e169b1d281a4 /src/librustc_trans | |
| parent | c9119252438a0f6c6c7a289bac91dd9600d45dd0 (diff) | |
| download | rust-2f42cd848905e4d473cacce0d9da769b2e712f0c.tar.gz rust-2f42cd848905e4d473cacce0d9da769b2e712f0c.zip | |
rustc_mir: use Local in ProjectionElem::Index.
Diffstat (limited to 'src/librustc_trans')
| -rw-r--r-- | src/librustc_trans/mir/constant.rs | 3 | ||||
| -rw-r--r-- | src/librustc_trans/mir/lvalue.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_trans/mir/constant.rs b/src/librustc_trans/mir/constant.rs index 65b9fec7eff..9987c9c3310 100644 --- a/src/librustc_trans/mir/constant.rs +++ b/src/librustc_trans/mir/constant.rs @@ -471,7 +471,8 @@ impl<'a, 'tcx> MirConstContext<'a, 'tcx> { }; (Base::Value(llprojected), llextra) } - mir::ProjectionElem::Index(ref index) => { + mir::ProjectionElem::Index(index) => { + let index = &mir::Operand::Consume(mir::Lvalue::Local(index)); let llindex = self.const_operand(index, span)?.llval; let iv = if let Some(iv) = common::const_to_opt_u128(llindex, false) { diff --git a/src/librustc_trans/mir/lvalue.rs b/src/librustc_trans/mir/lvalue.rs index 89c76ccdd27..8155303b0d3 100644 --- a/src/librustc_trans/mir/lvalue.rs +++ b/src/librustc_trans/mir/lvalue.rs @@ -333,7 +333,8 @@ impl<'a, 'tcx> MirContext<'a, 'tcx> { }; (tr_base.trans_field_ptr(bcx, field.index()), llextra) } - mir::ProjectionElem::Index(ref index) => { + mir::ProjectionElem::Index(index) => { + let index = &mir::Operand::Consume(mir::Lvalue::Local(index)); let index = self.trans_operand(bcx, index); let llindex = self.prepare_index(bcx, index.immediate()); ((tr_base.project_index(bcx, llindex), align), ptr::null_mut()) |
