X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_codegen_ssa%2Fmir%2Frvalue.rs;h=b8131671320e1ed86db2e444e59d8d7ac26aba7a;hb=2cfd6444a7fb4bd6acef2b97ba53059adc0500a6;hp=25a7754d118d739c3f2a4427d1950bbd7111491e;hpb=a54b5c7a645ead203d77e78245362f9e0f00dd3c;p=rust.git diff --git a/src/librustc_codegen_ssa/mir/rvalue.rs b/src/librustc_codegen_ssa/mir/rvalue.rs index 25a7754d118..b8131671320 100644 --- a/src/librustc_codegen_ssa/mir/rvalue.rs +++ b/src/librustc_codegen_ssa/mir/rvalue.rs @@ -257,7 +257,8 @@ pub fn codegen_rvalue_operand( } } } - mir::CastKind::Misc if bx.cx().is_backend_scalar_pair(operand.layout) => { + mir::CastKind::MutToConstPointer + | mir::CastKind::Misc if bx.cx().is_backend_scalar_pair(operand.layout) => { if let OperandValue::Pair(data_ptr, meta) = operand.val { if bx.cx().is_backend_scalar_pair(cast) { let data_cast = bx.pointercast(data_ptr, @@ -274,7 +275,8 @@ pub fn codegen_rvalue_operand( bug!("Unexpected non-Pair operand") } } - mir::CastKind::Misc => { + mir::CastKind::MutToConstPointer + | mir::CastKind::Misc => { assert!(bx.cx().is_backend_immediate(cast)); let ll_t_out = bx.cx().immediate_backend_type(cast); if operand.layout.abi.is_uninhabited() { @@ -534,7 +536,7 @@ fn evaluate_array_len( ) -> Bx::Value { // ZST are passed as operands and require special handling // because codegen_place() panics if Local is operand. - if let mir::Place::Local(index) = *place { + if let mir::Place::Base(mir::PlaceBase::Local(index)) = *place { if let LocalRef::Operand(Some(op)) = self.locals[index] { if let ty::Array(_, n) = op.layout.ty.sty { let n = n.unwrap_usize(bx.cx().tcx());