diff --git a/rust-version b/rust-version index e6bd4b95a8..5526a13d5f 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -f24ef2e296ec6fc6fd2e24d7e4bfec3f4cb0577a +22ee39504a702f75485582d02060495a01254de1 diff --git a/src/machine.rs b/src/machine.rs index 3d97bed7ae..7ab15b9f9c 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -470,7 +470,12 @@ impl<'mir, 'tcx> Machine<'mir, 'tcx> for Evaluator<'mir, 'tcx> { } #[inline(always)] - fn enforce_number_validity(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { + fn enforce_number_init(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { + ecx.machine.enforce_number_validity + } + + #[inline(always)] + fn enforce_number_no_provenance(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { ecx.machine.enforce_number_validity } diff --git a/tests/compile-fail/ptr_integer_transmute.rs b/tests/compile-fail/ptr_integer_transmute.rs index e15a157637..bb9e8e1e22 100644 --- a/tests/compile-fail/ptr_integer_transmute.rs +++ b/tests/compile-fail/ptr_integer_transmute.rs @@ -2,5 +2,5 @@ fn main() { let r = &mut 42; - let _i: usize = unsafe { std::mem::transmute(r) }; //~ ERROR expected initialized plain (non-pointer) bytes + let _i: usize = unsafe { std::mem::transmute(r) }; //~ ERROR expected plain (non-pointer) bytes } diff --git a/tests/compile-fail/strict_provenance_transmute.rs b/tests/compile-fail/strict_provenance_transmute.rs index 0fc64295f9..a684d65b2c 100644 --- a/tests/compile-fail/strict_provenance_transmute.rs +++ b/tests/compile-fail/strict_provenance_transmute.rs @@ -7,7 +7,7 @@ use std::mem; // . unsafe fn deref(left: *const u8, right: *const u8) { - let left_int: usize = mem::transmute(left); //~ERROR expected initialized plain (non-pointer) bytes + let left_int: usize = mem::transmute(left); //~ERROR expected plain (non-pointer) bytes let right_int: usize = mem::transmute(right); if left_int == right_int { // The compiler is allowed to replace `left_int` by `right_int` here... diff --git a/tests/compile-fail/uninit_float.rs b/tests/compile-fail/uninit_float.rs index 06953e1ced..1cb687f9b0 100644 --- a/tests/compile-fail/uninit_float.rs +++ b/tests/compile-fail/uninit_float.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes } diff --git a/tests/compile-fail/uninit_integer.rs b/tests/compile-fail/uninit_integer.rs index 757f69c050..c700f1f46d 100644 --- a/tests/compile-fail/uninit_integer.rs +++ b/tests/compile-fail/uninit_integer.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes } diff --git a/tests/compile-fail/uninit_integer_signed.rs b/tests/compile-fail/uninit_integer_signed.rs index bb5d7314a7..28bca0b19a 100644 --- a/tests/compile-fail/uninit_integer_signed.rs +++ b/tests/compile-fail/uninit_integer_signed.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes }