Auto merge of #1121 - rust-lang:rustup, r=RalfJung

Rustup to rustc 1.42.0-nightly (005cf38f7 2019-12-22)
This commit is contained in:
bors 2019-12-23 22:03:15 +00:00
commit b1e97df8ee
2 changed files with 6 additions and 5 deletions

View file

@ -1 +1 @@
9ff30a7810c586819a78188c173a7b74adbb9730
9ae6cedb8d1e37469be1434642a3e403fce50a03

View file

@ -7,7 +7,7 @@ use std::fmt;
use std::num::NonZeroU64;
use std::rc::Rc;
use rustc::hir::Mutability::{Immutable, Mutable};
use rustc::hir::Mutability;
use rustc::mir::RetagKind;
use rustc::ty::{self, layout::Size};
@ -604,14 +604,15 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx
fn qualify(ty: ty::Ty<'_>, kind: RetagKind) -> Option<(RefKind, bool)> {
match ty.kind {
// References are simple.
ty::Ref(_, _, Mutable) => Some((
ty::Ref(_, _, Mutability::Mut) => Some((
RefKind::Unique { two_phase: kind == RetagKind::TwoPhase },
kind == RetagKind::FnEntry,
)),
ty::Ref(_, _, Immutable) => Some((RefKind::Shared, kind == RetagKind::FnEntry)),
ty::Ref(_, _, Mutability::Not) =>
Some((RefKind::Shared, kind == RetagKind::FnEntry)),
// Raw pointers need to be enabled.
ty::RawPtr(tym) if kind == RetagKind::Raw =>
Some((RefKind::Raw { mutable: tym.mutbl == Mutable }, false)),
Some((RefKind::Raw { mutable: tym.mutbl == Mutability::Mut }, false)),
// Boxes do not get a protector: protectors reflect that references outlive the call
// they were passed in to; that's just not the case for boxes.
ty::Adt(..) if ty.is_box() => Some((RefKind::Unique { two_phase: false }, false)),