about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorOli Scherer <github333195615777966@oli-obk.de>2025-05-28 10:29:08 +0000
committerOli Scherer <github333195615777966@oli-obk.de>2025-06-02 15:37:15 +0000
commitb331b8b96d86a6433df957a3cc49ed51f3656135 (patch)
tree72e20ae9fa73a475719589593a790156181e4e24 /tests
parente6152cdf5b31bd844a4cc1049433859d54863602 (diff)
downloadrust-b331b8b96d86a6433df957a3cc49ed51f3656135.tar.gz
rust-b331b8b96d86a6433df957a3cc49ed51f3656135.zip
Use the informative error as the main const eval error message
Diffstat (limited to 'tests')
-rw-r--r--tests/rustdoc-ui/const-evalutation-ice.rs4
-rw-r--r--tests/rustdoc-ui/const-evalutation-ice.stderr4
-rw-r--r--tests/ui/array-slice-vec/array_const_index-0.rs3
-rw-r--r--tests/ui/array-slice-vec/array_const_index-0.stderr4
-rw-r--r--tests/ui/array-slice-vec/array_const_index-1.rs3
-rw-r--r--tests/ui/array-slice-vec/array_const_index-1.stderr4
-rw-r--r--tests/ui/asm/fail-const-eval-issue-121099.stderr8
-rw-r--r--tests/ui/associated-consts/defaults-not-assumed-fail.rs2
-rw-r--r--tests/ui/associated-consts/defaults-not-assumed-fail.stderr4
-rw-r--r--tests/ui/borrowck/issue-81899.rs2
-rw-r--r--tests/ui/borrowck/issue-81899.stderr4
-rw-r--r--tests/ui/borrowck/issue-88434-minimal-example.rs4
-rw-r--r--tests/ui/borrowck/issue-88434-minimal-example.stderr4
-rw-r--r--tests/ui/borrowck/issue-88434-removal-index-should-be-less.rs4
-rw-r--r--tests/ui/borrowck/issue-88434-removal-index-should-be-less.stderr4
-rw-r--r--tests/ui/coherence/const-errs-dont-conflict-103369.stderr8
-rw-r--r--tests/ui/const-generics/defaults/default-param-wf-concrete.next.stderr4
-rw-r--r--tests/ui/const-generics/defaults/default-param-wf-concrete.old.stderr4
-rw-r--r--tests/ui/const-generics/defaults/default-param-wf-concrete.rs2
-rw-r--r--tests/ui/const-generics/defaults/wfness.rs2
-rw-r--r--tests/ui/const-generics/defaults/wfness.stderr4
-rw-r--r--tests/ui/const-generics/generic_const_exprs/from-sig-fail.rs2
-rw-r--r--tests/ui/const-generics/generic_const_exprs/from-sig-fail.stderr4
-rw-r--r--tests/ui/const-generics/generic_const_exprs/simple_fail.rs4
-rw-r--r--tests/ui/const-generics/generic_const_exprs/simple_fail.stderr8
-rw-r--r--tests/ui/const-generics/issues/issue-100313.rs2
-rw-r--r--tests/ui/const-generics/issues/issue-100313.stderr4
-rw-r--r--tests/ui/const-generics/min_const_generics/invalid-patterns.32bit.stderr22
-rw-r--r--tests/ui/const-generics/min_const_generics/invalid-patterns.64bit.stderr22
-rw-r--r--tests/ui/const-generics/min_const_generics/invalid-patterns.rs10
-rw-r--r--tests/ui/const-ptr/forbidden_slices.rs36
-rw-r--r--tests/ui/const-ptr/forbidden_slices.stderr80
-rw-r--r--tests/ui/const-ptr/out_of_bounds_read.rs6
-rw-r--r--tests/ui/const-ptr/out_of_bounds_read.stderr12
-rw-r--r--tests/ui/consts/assert-type-intrinsics.rs6
-rw-r--r--tests/ui/consts/assert-type-intrinsics.stderr12
-rw-r--r--tests/ui/consts/assoc_const_generic_impl.rs2
-rw-r--r--tests/ui/consts/assoc_const_generic_impl.stderr8
-rw-r--r--tests/ui/consts/const-array-oob.rs6
-rw-r--r--tests/ui/consts/const-array-oob.stderr10
-rw-r--r--tests/ui/consts/const-assert-unchecked-ub.rs2
-rw-r--r--tests/ui/consts/const-assert-unchecked-ub.stderr4
-rw-r--r--tests/ui/consts/const-compare-bytes-ub.rs16
-rw-r--r--tests/ui/consts/const-compare-bytes-ub.stderr32
-rw-r--r--tests/ui/consts/const-deref-ptr.rs5
-rw-r--r--tests/ui/consts/const-deref-ptr.stderr8
-rw-r--r--tests/ui/consts/const-err-early.rs10
-rw-r--r--tests/ui/consts/const-err-early.stderr20
-rw-r--r--tests/ui/consts/const-err-enum-discriminant.rs3
-rw-r--r--tests/ui/consts/const-err-enum-discriminant.stderr4
-rw-r--r--tests/ui/consts/const-err-late.rs4
-rw-r--r--tests/ui/consts/const-err-late.stderr8
-rw-r--r--tests/ui/consts/const-err-multi.rs4
-rw-r--r--tests/ui/consts/const-err-multi.stderr4
-rw-r--r--tests/ui/consts/const-eval-fail-too-big.rs2
-rw-r--r--tests/ui/consts/const-eval-fail-too-big.stderr4
-rw-r--r--tests/ui/consts/const-eval/assign-to-static-within-other-static.rs2
-rw-r--r--tests/ui/consts/const-eval/assign-to-static-within-other-static.stderr4
-rw-r--r--tests/ui/consts/const-eval/conditional_array_execution.rs2
-rw-r--r--tests/ui/consts/const-eval/conditional_array_execution.stderr4
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-2.rs2
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-2.stderr4
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-3.rs2
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-3.stderr4
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-4.rs2
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-4.stderr4
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2.rs16
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2.stderr32
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2b.rs16
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2b.stderr32
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2c.rs16
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow2c.stderr32
-rw-r--r--tests/ui/consts/const-eval/const-eval-query-stack.rs2
-rw-r--r--tests/ui/consts/const-eval/const-eval-query-stack.stderr4
-rw-r--r--tests/ui/consts/const-eval/const-pointer-values-in-various-types.64bit.stderr162
-rw-r--r--tests/ui/consts/const-eval/const-pointer-values-in-various-types.rs60
-rw-r--r--tests/ui/consts/const-eval/const_fn_ptr_fail2.rs8
-rw-r--r--tests/ui/consts/const-eval/const_fn_ptr_fail2.stderr8
-rw-r--r--tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.rs2
-rw-r--r--tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.stderr4
-rw-r--r--tests/ui/consts/const-eval/const_panic.rs24
-rw-r--r--tests/ui/consts/const-eval/const_panic.stderr48
-rw-r--r--tests/ui/consts/const-eval/const_panic_2021.rs20
-rw-r--r--tests/ui/consts/const-eval/const_panic_2021.stderr40
-rw-r--r--tests/ui/consts/const-eval/const_panic_libcore_bin.rs6
-rw-r--r--tests/ui/consts/const-eval/const_panic_libcore_bin.stderr12
-rw-r--r--tests/ui/consts/const-eval/const_panic_track_caller.rs4
-rw-r--r--tests/ui/consts/const-eval/const_panic_track_caller.stderr4
-rw-r--r--tests/ui/consts/const-eval/const_raw_ptr_ops2.rs6
-rw-r--r--tests/ui/consts/const-eval/const_raw_ptr_ops2.stderr10
-rw-r--r--tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs2
-rw-r--r--tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr4
-rw-r--r--tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.32bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.64bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.rs2
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs4
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.stderr8
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.rs2
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.stderr4
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.rs8
-rw-r--r--tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.stderr16
-rw-r--r--tests/ui/consts/const-eval/index-out-of-bounds-never-type.rs2
-rw-r--r--tests/ui/consts/const-eval/index-out-of-bounds-never-type.stderr4
-rw-r--r--tests/ui/consts/const-eval/index_out_of_bounds.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-43197.rs4
-rw-r--r--tests/ui/consts/const-eval/issue-43197.stderr8
-rw-r--r--tests/ui/consts/const-eval/issue-44578.rs2
-rw-r--r--tests/ui/consts/const-eval/issue-44578.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-49296.rs2
-rw-r--r--tests/ui/consts/const-eval/issue-49296.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-50814-2.mir-opt.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-50814-2.normal.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-50814-2.rs2
-rw-r--r--tests/ui/consts/const-eval/issue-50814.rs4
-rw-r--r--tests/ui/consts/const-eval/issue-50814.stderr8
-rw-r--r--tests/ui/consts/const-eval/issue-85155.rs2
-rw-r--r--tests/ui/consts/const-eval/issue-85155.stderr4
-rw-r--r--tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.rs3
-rw-r--r--tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.stderr4
-rw-r--r--tests/ui/consts/const-eval/mod-static-with-const-fn.rs2
-rw-r--r--tests/ui/consts/const-eval/mod-static-with-const-fn.stderr4
-rw-r--r--tests/ui/consts/const-eval/nonnull_as_ref_ub.rs2
-rw-r--r--tests/ui/consts/const-eval/nonnull_as_ref_ub.stderr4
-rw-r--r--tests/ui/consts/const-eval/panic-assoc-never-type.rs2
-rw-r--r--tests/ui/consts/const-eval/panic-assoc-never-type.stderr4
-rw-r--r--tests/ui/consts/const-eval/panic-never-type.rs2
-rw-r--r--tests/ui/consts/const-eval/panic-never-type.stderr4
-rw-r--r--tests/ui/consts/const-eval/parse_ints.rs4
-rw-r--r--tests/ui/consts/const-eval/parse_ints.stderr8
-rw-r--r--tests/ui/consts/const-eval/partial_ptr_overwrite.rs3
-rw-r--r--tests/ui/consts/const-eval/partial_ptr_overwrite.stderr4
-rw-r--r--tests/ui/consts/const-eval/raw-bytes.32bit.stderr296
-rw-r--r--tests/ui/consts/const-eval/raw-bytes.64bit.stderr296
-rw-r--r--tests/ui/consts/const-eval/raw-bytes.rs116
-rw-r--r--tests/ui/consts/const-eval/raw-pointer-ub.rs20
-rw-r--r--tests/ui/consts/const-eval/raw-pointer-ub.stderr20
-rw-r--r--tests/ui/consts/const-eval/ref_to_int_match.32bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/ref_to_int_match.64bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/ref_to_int_match.rs12
-rw-r--r--tests/ui/consts/const-eval/shift_overflow.stderr4
-rw-r--r--tests/ui/consts/const-eval/transmute-const.rs2
-rw-r--r--tests/ui/consts/const-eval/transmute-const.stderr4
-rw-r--r--tests/ui/consts/const-eval/transmute-size-mismatch.rs8
-rw-r--r--tests/ui/consts/const-eval/transmute-size-mismatch.stderr8
-rw-r--r--tests/ui/consts/const-eval/ub-enum-overwrite.rs3
-rw-r--r--tests/ui/consts/const-eval/ub-enum-overwrite.stderr4
-rw-r--r--tests/ui/consts/const-eval/ub-enum.rs38
-rw-r--r--tests/ui/consts/const-eval/ub-enum.stderr76
-rw-r--r--tests/ui/consts/const-eval/ub-incorrect-vtable.32bit.stderr34
-rw-r--r--tests/ui/consts/const-eval/ub-incorrect-vtable.64bit.stderr34
-rw-r--r--tests/ui/consts/const-eval/ub-incorrect-vtable.rs18
-rw-r--r--tests/ui/consts/const-eval/ub-int-array.rs9
-rw-r--r--tests/ui/consts/const-eval/ub-int-array.stderr16
-rw-r--r--tests/ui/consts/const-eval/ub-invalid-values.rs4
-rw-r--r--tests/ui/consts/const-eval/ub-invalid-values.stderr4
-rw-r--r--tests/ui/consts/const-eval/ub-nonnull.rs17
-rw-r--r--tests/ui/consts/const-eval/ub-nonnull.stderr38
-rw-r--r--tests/ui/consts/const-eval/ub-ref-ptr.rs34
-rw-r--r--tests/ui/consts/const-eval/ub-ref-ptr.stderr92
-rw-r--r--tests/ui/consts/const-eval/ub-uninhabit.rs17
-rw-r--r--tests/ui/consts/const-eval/ub-uninhabit.stderr24
-rw-r--r--tests/ui/consts/const-eval/ub-upvars.32bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/ub-upvars.64bit.stderr4
-rw-r--r--tests/ui/consts/const-eval/ub-upvars.rs2
-rw-r--r--tests/ui/consts/const-eval/ub-wide-ptr.rs75
-rw-r--r--tests/ui/consts/const-eval/ub-wide-ptr.stderr164
-rw-r--r--tests/ui/consts/const-eval/ub-write-through-immutable.rs8
-rw-r--r--tests/ui/consts/const-eval/ub-write-through-immutable.stderr10
-rw-r--r--tests/ui/consts/const-eval/union-const-eval-field.rs3
-rw-r--r--tests/ui/consts/const-eval/union-const-eval-field.stderr8
-rw-r--r--tests/ui/consts/const-eval/union-ice.rs12
-rw-r--r--tests/ui/consts/const-eval/union-ice.stderr16
-rw-r--r--tests/ui/consts/const-eval/union-ub.32bit.stderr12
-rw-r--r--tests/ui/consts/const-eval/union-ub.64bit.stderr12
-rw-r--r--tests/ui/consts/const-eval/union-ub.rs10
-rw-r--r--tests/ui/consts/const-eval/unused-broken-const.rs2
-rw-r--r--tests/ui/consts/const-eval/unused-broken-const.stderr4
-rw-r--r--tests/ui/consts/const-eval/unwind-abort.rs2
-rw-r--r--tests/ui/consts/const-eval/unwind-abort.stderr4
-rw-r--r--tests/ui/consts/const-eval/validate_uninhabited_zsts.rs4
-rw-r--r--tests/ui/consts/const-eval/validate_uninhabited_zsts.stderr8
-rw-r--r--tests/ui/consts/const-eval/validation-ice-extern-type-field.rs2
-rw-r--r--tests/ui/consts/const-eval/validation-ice-extern-type-field.stderr4
-rw-r--r--tests/ui/consts/const-external-macro-const-err.rs2
-rw-r--r--tests/ui/consts/const-external-macro-const-err.stderr4
-rw-r--r--tests/ui/consts/const-int-unchecked.rs99
-rw-r--r--tests/ui/consts/const-int-unchecked.stderr294
-rw-r--r--tests/ui/consts/const-len-underflow-separate-spans.next.stderr4
-rw-r--r--tests/ui/consts/const-len-underflow-separate-spans.old.stderr4
-rw-r--r--tests/ui/consts/const-len-underflow-separate-spans.rs6
-rw-r--r--tests/ui/consts/const-len-underflow-subspans.rs3
-rw-r--r--tests/ui/consts/const-len-underflow-subspans.stderr4
-rw-r--r--tests/ui/consts/const-mut-refs/mut_ref_in_final.rs3
-rw-r--r--tests/ui/consts/const-mut-refs/mut_ref_in_final.stderr18
-rw-r--r--tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs13
-rw-r--r--tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr28
-rw-r--r--tests/ui/consts/const-ptr-is-null.rs2
-rw-r--r--tests/ui/consts/const-ptr-is-null.stderr4
-rw-r--r--tests/ui/consts/const-size_of_val-align_of_val-extern-type.rs4
-rw-r--r--tests/ui/consts/const-size_of_val-align_of_val-extern-type.stderr8
-rw-r--r--tests/ui/consts/const-slice-oob.rs5
-rw-r--r--tests/ui/consts/const-slice-oob.stderr4
-rw-r--r--tests/ui/consts/const-unwrap.rs6
-rw-r--r--tests/ui/consts/const-unwrap.stderr10
-rw-r--r--tests/ui/consts/const_refs_to_static_fail.rs9
-rw-r--r--tests/ui/consts/const_refs_to_static_fail.stderr12
-rw-r--r--tests/ui/consts/const_refs_to_static_fail_invalid.rs9
-rw-r--r--tests/ui/consts/const_refs_to_static_fail_invalid.stderr16
-rw-r--r--tests/ui/consts/const_unsafe_unreachable_ub.rs4
-rw-r--r--tests/ui/consts/const_unsafe_unreachable_ub.stderr4
-rw-r--r--tests/ui/consts/control-flow/assert.rs2
-rw-r--r--tests/ui/consts/control-flow/assert.stderr4
-rw-r--r--tests/ui/consts/copy-intrinsic.rs17
-rw-r--r--tests/ui/consts/copy-intrinsic.stderr22
-rw-r--r--tests/ui/consts/dangling-alloc-id-ice.rs2
-rw-r--r--tests/ui/consts/dangling-alloc-id-ice.stderr4
-rw-r--r--tests/ui/consts/dangling-zst-ice-issue-126393.rs2
-rw-r--r--tests/ui/consts/dangling-zst-ice-issue-126393.stderr4
-rw-r--r--tests/ui/consts/eval-enum.rs10
-rw-r--r--tests/ui/consts/eval-enum.stderr14
-rw-r--r--tests/ui/consts/extra-const-ub/detect-extra-ub.rs24
-rw-r--r--tests/ui/consts/extra-const-ub/detect-extra-ub.with_flag.stderr46
-rw-r--r--tests/ui/consts/interior-mut-const-via-union.32bit.stderr4
-rw-r--r--tests/ui/consts/interior-mut-const-via-union.64bit.stderr4
-rw-r--r--tests/ui/consts/interior-mut-const-via-union.rs4
-rw-r--r--tests/ui/consts/issue-17718-const-bad-values.rs3
-rw-r--r--tests/ui/consts/issue-17718-const-bad-values.stderr4
-rw-r--r--tests/ui/consts/issue-32829.rs2
-rw-r--r--tests/ui/consts/issue-32829.stderr4
-rw-r--r--tests/ui/consts/issue-63952.32bit.stderr4
-rw-r--r--tests/ui/consts/issue-63952.64bit.stderr4
-rw-r--r--tests/ui/consts/issue-63952.rs2
-rw-r--r--tests/ui/consts/issue-64506.rs2
-rw-r--r--tests/ui/consts/issue-64506.stderr4
-rw-r--r--tests/ui/consts/issue-66693-panic-in-array-len.rs2
-rw-r--r--tests/ui/consts/issue-66693-panic-in-array-len.stderr4
-rw-r--r--tests/ui/consts/issue-66693.rs4
-rw-r--r--tests/ui/consts/issue-66693.stderr8
-rw-r--r--tests/ui/consts/issue-76064.rs2
-rw-r--r--tests/ui/consts/issue-76064.stderr4
-rw-r--r--tests/ui/consts/issue-79690.64bit.stderr4
-rw-r--r--tests/ui/consts/issue-79690.rs2
-rw-r--r--tests/ui/consts/issue-miri-1910.rs2
-rw-r--r--tests/ui/consts/issue-miri-1910.stderr4
-rw-r--r--tests/ui/consts/large_const_alloc.rs4
-rw-r--r--tests/ui/consts/large_const_alloc.stderr8
-rw-r--r--tests/ui/consts/miri_unleashed/abi-mismatch.rs4
-rw-r--r--tests/ui/consts/miri_unleashed/abi-mismatch.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/assoc_const.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/assoc_const_2.rs2
-rw-r--r--tests/ui/consts/miri_unleashed/assoc_const_2.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/box.rs3
-rw-r--r--tests/ui/consts/miri_unleashed/box.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/const_refers_to_static.rs9
-rw-r--r--tests/ui/consts/miri_unleashed/const_refers_to_static.stderr16
-rw-r--r--tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs16
-rw-r--r--tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr24
-rw-r--r--tests/ui/consts/miri_unleashed/drop.rs4
-rw-r--r--tests/ui/consts/miri_unleashed/drop.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/extern-static.rs6
-rw-r--r--tests/ui/consts/miri_unleashed/extern-static.stderr10
-rw-r--r--tests/ui/consts/miri_unleashed/inline_asm.rs3
-rw-r--r--tests/ui/consts/miri_unleashed/inline_asm.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/mutable_references.rs30
-rw-r--r--tests/ui/consts/miri_unleashed/mutable_references.stderr98
-rw-r--r--tests/ui/consts/miri_unleashed/mutating_global.rs3
-rw-r--r--tests/ui/consts/miri_unleashed/mutating_global.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/non_const_fn.rs3
-rw-r--r--tests/ui/consts/miri_unleashed/non_const_fn.stderr4
-rw-r--r--tests/ui/consts/miri_unleashed/ptr_arith.rs6
-rw-r--r--tests/ui/consts/miri_unleashed/ptr_arith.stderr10
-rw-r--r--tests/ui/consts/miri_unleashed/static-no-inner-mut.32bit.stderr16
-rw-r--r--tests/ui/consts/miri_unleashed/static-no-inner-mut.64bit.stderr16
-rw-r--r--tests/ui/consts/miri_unleashed/static-no-inner-mut.rs8
-rw-r--r--tests/ui/consts/miri_unleashed/tls.rs6
-rw-r--r--tests/ui/consts/miri_unleashed/tls.stderr12
-rw-r--r--tests/ui/consts/missing_span_in_backtrace.rs2
-rw-r--r--tests/ui/consts/missing_span_in_backtrace.stderr8
-rw-r--r--tests/ui/consts/mono-reachable-invalid-const.rs3
-rw-r--r--tests/ui/consts/mono-reachable-invalid-const.stderr6
-rw-r--r--tests/ui/consts/no-ice-from-static-in-const-issue-52060.rs3
-rw-r--r--tests/ui/consts/no-ice-from-static-in-const-issue-52060.stderr4
-rw-r--r--tests/ui/consts/offset_from_ub.rs53
-rw-r--r--tests/ui/consts/offset_from_ub.stderr82
-rw-r--r--tests/ui/consts/offset_ub.stderr44
-rw-r--r--tests/ui/consts/overflowing-consts.noopt.stderr1024
-rw-r--r--tests/ui/consts/overflowing-consts.opt.stderr1024
-rw-r--r--tests/ui/consts/overflowing-consts.opt_with_overflow_checks.stderr1024
-rw-r--r--tests/ui/consts/overflowing-consts.rs348
-rw-r--r--tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs3
-rw-r--r--tests/ui/consts/promoted_running_out_of_memory_issue-130687.stderr4
-rw-r--r--tests/ui/consts/promoted_size_overflow.rs3
-rw-r--r--tests/ui/consts/promoted_size_overflow.stderr4
-rw-r--r--tests/ui/consts/qualif-indirect-mutation-fail.rs4
-rw-r--r--tests/ui/consts/qualif-indirect-mutation-fail.stderr8
-rw-r--r--tests/ui/consts/recursive-zst-static.default.stderr4
-rw-r--r--tests/ui/consts/recursive-zst-static.rs2
-rw-r--r--tests/ui/consts/recursive-zst-static.unleash.stderr4
-rw-r--r--tests/ui/consts/recursive.rs2
-rw-r--r--tests/ui/consts/recursive.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-called-fn.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-called-fn.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-called-fn.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-closure.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-closure.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-closure.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-drop.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-drop.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-drop.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fn.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-fnptr.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-move.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-move.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-move.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-vtable.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-vtable.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-dead-vtable.rs2
-rw-r--r--tests/ui/consts/required-consts/collect-in-promoted-const.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/collect-in-promoted-const.opt.stderr8
-rw-r--r--tests/ui/consts/required-consts/collect-in-promoted-const.rs4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-const-called-fn.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-const-called-fn.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-const-called-fn.rs2
-rw-r--r--tests/ui/consts/required-consts/interpret-in-promoted.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-promoted.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-promoted.rs2
-rw-r--r--tests/ui/consts/required-consts/interpret-in-static.noopt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-static.opt.stderr4
-rw-r--r--tests/ui/consts/required-consts/interpret-in-static.rs2
-rw-r--r--tests/ui/consts/slice-index-overflow-issue-130284.rs3
-rw-r--r--tests/ui/consts/slice-index-overflow-issue-130284.stderr4
-rw-r--r--tests/ui/consts/static_mut_containing_mut_ref2.rs2
-rw-r--r--tests/ui/consts/static_mut_containing_mut_ref2.stderr4
-rw-r--r--tests/ui/consts/static_mut_containing_mut_ref3.rs2
-rw-r--r--tests/ui/consts/static_mut_containing_mut_ref3.stderr4
-rw-r--r--tests/ui/consts/uninhabited-const-issue-61744.rs2
-rw-r--r--tests/ui/consts/uninhabited-const-issue-61744.stderr4
-rw-r--r--tests/ui/consts/validate_never_arrays.rs6
-rw-r--r--tests/ui/consts/validate_never_arrays.stderr12
-rw-r--r--tests/ui/consts/write-to-static-mut-in-static.rs4
-rw-r--r--tests/ui/consts/write-to-static-mut-in-static.stderr8
-rw-r--r--tests/ui/enum-discriminant/eval-error.rs2
-rw-r--r--tests/ui/enum-discriminant/eval-error.stderr4
-rw-r--r--tests/ui/error-codes/E0080.rs9
-rw-r--r--tests/ui/error-codes/E0080.stderr12
-rw-r--r--tests/ui/explicit-tail-calls/ctfe-id-unlimited.return.stderr4
-rw-r--r--tests/ui/explicit-tail-calls/ctfe-id-unlimited.rs2
-rw-r--r--tests/ui/explicit-tail-calls/ctfe-tail-call-panic.rs4
-rw-r--r--tests/ui/explicit-tail-calls/ctfe-tail-call-panic.stderr4
-rw-r--r--tests/ui/extern/issue-28324.rs2
-rw-r--r--tests/ui/extern/issue-28324.stderr4
-rw-r--r--tests/ui/generic-const-items/def-site-eval.fail.stderr4
-rw-r--r--tests/ui/generic-const-items/def-site-eval.rs2
-rw-r--r--tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs2
-rw-r--r--tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.stderr4
-rw-r--r--tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs2
-rw-r--r--tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.stderr4
-rw-r--r--tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.rs2
-rw-r--r--tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.stderr4
-rw-r--r--tests/ui/generics/post_monomorphization_error_backtrace.rs9
-rw-r--r--tests/ui/generics/post_monomorphization_error_backtrace.stderr8
-rw-r--r--tests/ui/infinite/infinite-recursion-const-fn.rs2
-rw-r--r--tests/ui/infinite/infinite-recursion-const-fn.stderr4
-rw-r--r--tests/ui/inline-const/const-expr-generic-err.stderr8
-rw-r--r--tests/ui/inline-const/required-const.stderr4
-rw-r--r--tests/ui/intrinsics/intrinsic-raw_eq-const-bad.rs9
-rw-r--r--tests/ui/intrinsics/intrinsic-raw_eq-const-bad.stderr16
-rw-r--r--tests/ui/issues/issue-76191.rs2
-rw-r--r--tests/ui/issues/issue-76191.stderr4
-rw-r--r--tests/ui/layout/invalid-unsized-const-eval.rs2
-rw-r--r--tests/ui/layout/invalid-unsized-const-eval.stderr4
-rw-r--r--tests/ui/layout/invalid-unsized-in-always-sized-tail.rs3
-rw-r--r--tests/ui/layout/invalid-unsized-in-always-sized-tail.stderr4
-rw-r--r--tests/ui/layout/issue-unsized-tail-restatic-ice-122488.rs2
-rw-r--r--tests/ui/layout/issue-unsized-tail-restatic-ice-122488.stderr4
-rw-r--r--tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs2
-rw-r--r--tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr4
-rw-r--r--tests/ui/layout/unknown-when-no-type-parameter.rs10
-rw-r--r--tests/ui/layout/unknown-when-no-type-parameter.stderr6
-rw-r--r--tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs2
-rw-r--r--tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr4
-rw-r--r--tests/ui/lazy-type-alias/def-site-param-defaults-wf.rs4
-rw-r--r--tests/ui/lazy-type-alias/def-site-param-defaults-wf.stderr10
-rw-r--r--tests/ui/limits/huge-static.rs11
-rw-r--r--tests/ui/limits/huge-static.stderr12
-rw-r--r--tests/ui/limits/issue-55878.rs2
-rw-r--r--tests/ui/limits/issue-55878.stderr4
-rw-r--r--tests/ui/recursion/recursive-static-definition.rs4
-rw-r--r--tests/ui/recursion/recursive-static-definition.stderr8
-rw-r--r--tests/ui/simd/const-err-trumps-simd-err.rs3
-rw-r--r--tests/ui/simd/const-err-trumps-simd-err.stderr6
-rw-r--r--tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr4
-rw-r--r--tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr4
-rw-r--r--tests/ui/sized/stack-overflow-trait-infer-98842.rs2
-rw-r--r--tests/ui/statics/issue-14227.rs2
-rw-r--r--tests/ui/statics/issue-14227.stderr4
-rw-r--r--tests/ui/statics/mutable_memory_validation.rs2
-rw-r--r--tests/ui/statics/mutable_memory_validation.stderr4
-rw-r--r--tests/ui/statics/uninhabited-static.rs4
-rw-r--r--tests/ui/statics/uninhabited-static.stderr8
-rw-r--r--tests/ui/structs/default-field-values/invalid-const.rs4
-rw-r--r--tests/ui/structs/default-field-values/invalid-const.stderr8
-rw-r--r--tests/ui/structs/default-field-values/post-mono.direct.stderr4
-rw-r--r--tests/ui/structs/default-field-values/post-mono.indirect.stderr4
-rw-r--r--tests/ui/structs/default-field-values/post-mono.rs2
-rw-r--r--tests/ui/transmutability/uninhabited.rs6
-rw-r--r--tests/ui/transmutability/uninhabited.stderr12
-rw-r--r--tests/ui/treat-err-as-bug/err.rs2
-rw-r--r--tests/ui/treat-err-as-bug/err.stderr4
-rw-r--r--tests/ui/type/pattern_types/literals.rs10
-rw-r--r--tests/ui/type/pattern_types/literals.stderr20
-rw-r--r--tests/ui/type/pattern_types/range_patterns.rs2
-rw-r--r--tests/ui/type/pattern_types/range_patterns.stderr4
-rw-r--r--tests/ui/type/pattern_types/reverse_range.rs3
-rw-r--r--tests/ui/type/pattern_types/reverse_range.stderr4
-rw-r--r--tests/ui/type/pattern_types/validity.rs16
-rw-r--r--tests/ui/type/pattern_types/validity.stderr32
433 files changed, 4082 insertions, 4233 deletions
diff --git a/tests/rustdoc-ui/const-evalutation-ice.rs b/tests/rustdoc-ui/const-evalutation-ice.rs
index 0dd3bcaa289..72bcbeb4c51 100644
--- a/tests/rustdoc-ui/const-evalutation-ice.rs
+++ b/tests/rustdoc-ui/const-evalutation-ice.rs
@@ -4,8 +4,8 @@ use std::cell::Cell;
 use std::mem;
 
 pub struct S {
-    s: Cell<usize>
+    s: Cell<usize>,
 }
 
 pub const N: usize = 0 - (mem::size_of::<S>() != 400) as usize;
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflow
diff --git a/tests/rustdoc-ui/const-evalutation-ice.stderr b/tests/rustdoc-ui/const-evalutation-ice.stderr
index e1cb3323856..7fb78b6a028 100644
--- a/tests/rustdoc-ui/const-evalutation-ice.stderr
+++ b/tests/rustdoc-ui/const-evalutation-ice.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/const-evalutation-ice.rs:10:22
    |
 LL | pub const N: usize = 0 - (mem::size_of::<S>() != 400) as usize;
-   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/array-slice-vec/array_const_index-0.rs b/tests/ui/array-slice-vec/array_const_index-0.rs
index f4fe89a50c2..aef07d952fa 100644
--- a/tests/ui/array-slice-vec/array_const_index-0.rs
+++ b/tests/ui/array-slice-vec/array_const_index-0.rs
@@ -1,7 +1,6 @@
 const A: &'static [i32] = &[];
 const B: i32 = (&A)[1];
-//~^ NOTE index out of bounds: the length is 0 but the index is 1
-//~| ERROR evaluation of constant value failed
+//~^ ERROR index out of bounds: the length is 0 but the index is 1
 
 fn main() {
     let _ = B;
diff --git a/tests/ui/array-slice-vec/array_const_index-0.stderr b/tests/ui/array-slice-vec/array_const_index-0.stderr
index d16e8d50dfd..ed9d9917ebf 100644
--- a/tests/ui/array-slice-vec/array_const_index-0.stderr
+++ b/tests/ui/array-slice-vec/array_const_index-0.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 0 but the index is 1
   --> $DIR/array_const_index-0.rs:2:16
    |
 LL | const B: i32 = (&A)[1];
-   |                ^^^^^^^ index out of bounds: the length is 0 but the index is 1
+   |                ^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/array-slice-vec/array_const_index-1.rs b/tests/ui/array-slice-vec/array_const_index-1.rs
index 0d4de137a6e..4adbd157ed0 100644
--- a/tests/ui/array-slice-vec/array_const_index-1.rs
+++ b/tests/ui/array-slice-vec/array_const_index-1.rs
@@ -1,7 +1,6 @@
 const A: [i32; 0] = [];
 const B: i32 = A[1];
-//~^ NOTE index out of bounds: the length is 0 but the index is 1
-//~| ERROR evaluation of constant value failed
+//~^ ERROR index out of bounds: the length is 0 but the index is 1
 
 fn main() {
     let _ = B;
diff --git a/tests/ui/array-slice-vec/array_const_index-1.stderr b/tests/ui/array-slice-vec/array_const_index-1.stderr
index f9ba2f13911..d3db75bd061 100644
--- a/tests/ui/array-slice-vec/array_const_index-1.stderr
+++ b/tests/ui/array-slice-vec/array_const_index-1.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 0 but the index is 1
   --> $DIR/array_const_index-1.rs:2:16
    |
 LL | const B: i32 = A[1];
-   |                ^^^^ index out of bounds: the length is 0 but the index is 1
+   |                ^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/asm/fail-const-eval-issue-121099.stderr b/tests/ui/asm/fail-const-eval-issue-121099.stderr
index eb662dadffb..995f33d06af 100644
--- a/tests/ui/asm/fail-const-eval-issue-121099.stderr
+++ b/tests/ui/asm/fail-const-eval-issue-121099.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of `{global_asm#0}::{constant#0}` failed
+error[E0080]: attempt to shift left by `500_i32`, which would overflow
   --> $DIR/fail-const-eval-issue-121099.rs:8:31
    |
 LL | global_asm!("/* {} */", const 1 << 500);
-   |                               ^^^^^^^^ attempt to shift left by `500_i32`, which would overflow
+   |                               ^^^^^^^^ evaluation of `{global_asm#0}::{constant#0}` failed
 
-error[E0080]: evaluation of `{global_asm#1}::{constant#0}` failed
+error[E0080]: attempt to divide `1_i32` by zero
   --> $DIR/fail-const-eval-issue-121099.rs:10:31
    |
 LL | global_asm!("/* {} */", const 1 / 0);
-   |                               ^^^^^ attempt to divide `1_i32` by zero
+   |                               ^^^^^ evaluation of `{global_asm#1}::{constant#0}` failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/associated-consts/defaults-not-assumed-fail.rs b/tests/ui/associated-consts/defaults-not-assumed-fail.rs
index 830fd4ab0e9..e63424e13e3 100644
--- a/tests/ui/associated-consts/defaults-not-assumed-fail.rs
+++ b/tests/ui/associated-consts/defaults-not-assumed-fail.rs
@@ -7,7 +7,7 @@ trait Tr {
     // This should not be a constant evaluation error (overflow). The value of
     // `Self::A` must not be assumed to hold inside the trait.
     const B: u8 = Self::A + 1;
-    //~^ ERROR evaluation of `<() as Tr>::B` failed
+    //~^ ERROR overflow
 }
 
 // An impl that doesn't override any constant will NOT cause a const eval error
diff --git a/tests/ui/associated-consts/defaults-not-assumed-fail.stderr b/tests/ui/associated-consts/defaults-not-assumed-fail.stderr
index 3386e81dc98..334ab19ada8 100644
--- a/tests/ui/associated-consts/defaults-not-assumed-fail.stderr
+++ b/tests/ui/associated-consts/defaults-not-assumed-fail.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<() as Tr>::B` failed
+error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
   --> $DIR/defaults-not-assumed-fail.rs:9:19
    |
 LL |     const B: u8 = Self::A + 1;
-   |                   ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
+   |                   ^^^^^^^^^^^ evaluation of `<() as Tr>::B` failed
 
 note: erroneous constant encountered
   --> $DIR/defaults-not-assumed-fail.rs:34:16
diff --git a/tests/ui/borrowck/issue-81899.rs b/tests/ui/borrowck/issue-81899.rs
index 11755620d86..03d9b8cb6c6 100644
--- a/tests/ui/borrowck/issue-81899.rs
+++ b/tests/ui/borrowck/issue-81899.rs
@@ -3,7 +3,7 @@
 
 //@ dont-require-annotations: NOTE
 
-const _CONST: &[u8] = &f(&[], |_| {}); //~ ERROR evaluation of constant value failed
+const _CONST: &[u8] = &f(&[], |_| {}); //~ ERROR explicit panic
 //~^ NOTE constant
 
 const fn f<F>(_: &[u8], _: F) -> &[u8]
diff --git a/tests/ui/borrowck/issue-81899.stderr b/tests/ui/borrowck/issue-81899.stderr
index 97d463cb6a7..dcadeef4722 100644
--- a/tests/ui/borrowck/issue-81899.stderr
+++ b/tests/ui/borrowck/issue-81899.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-81899.rs:6:24
    |
 LL | const _CONST: &[u8] = &f(&[], |_| {});
-   |                        ^^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |                        ^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `f::<{closure@$DIR/issue-81899.rs:6:31: 6:34}>`
   --> $DIR/issue-81899.rs:13:5
diff --git a/tests/ui/borrowck/issue-88434-minimal-example.rs b/tests/ui/borrowck/issue-88434-minimal-example.rs
index 7482b3fd612..901e0142c36 100644
--- a/tests/ui/borrowck/issue-88434-minimal-example.rs
+++ b/tests/ui/borrowck/issue-88434-minimal-example.rs
@@ -2,7 +2,7 @@
 
 //@ dont-require-annotations: NOTE
 
-const _CONST: &() = &f(&|_| {}); //~ ERROR evaluation of constant value failed
+const _CONST: &() = &f(&|_| {}); //~ ERROR explicit panic
 //~^ NOTE constant
 
 const fn f<F>(_: &F)
@@ -12,4 +12,4 @@ where
     panic!() //~ NOTE inside `f
 }
 
-fn main() { }
+fn main() {}
diff --git a/tests/ui/borrowck/issue-88434-minimal-example.stderr b/tests/ui/borrowck/issue-88434-minimal-example.stderr
index 4c525b9ea2c..ec32b901e21 100644
--- a/tests/ui/borrowck/issue-88434-minimal-example.stderr
+++ b/tests/ui/borrowck/issue-88434-minimal-example.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-88434-minimal-example.rs:5:22
    |
 LL | const _CONST: &() = &f(&|_| {});
-   |                      ^^^^^^^^^^ evaluation panicked: explicit panic
+   |                      ^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `f::<{closure@$DIR/issue-88434-minimal-example.rs:5:25: 5:28}>`
   --> $DIR/issue-88434-minimal-example.rs:12:5
diff --git a/tests/ui/borrowck/issue-88434-removal-index-should-be-less.rs b/tests/ui/borrowck/issue-88434-removal-index-should-be-less.rs
index 09b1f59c449..cce59124ade 100644
--- a/tests/ui/borrowck/issue-88434-removal-index-should-be-less.rs
+++ b/tests/ui/borrowck/issue-88434-removal-index-should-be-less.rs
@@ -2,7 +2,7 @@
 
 //@ dont-require-annotations: NOTE
 
-const _CONST: &[u8] = &f(&[], |_| {}); //~ ERROR evaluation of constant value failed
+const _CONST: &[u8] = &f(&[], |_| {}); //~ ERROR explicit panic
 //~^ NOTE constant
 
 const fn f<F>(_: &[u8], _: F) -> &[u8]
@@ -12,4 +12,4 @@ where
     panic!() //~ NOTE inside `f
 }
 
-fn main() { }
+fn main() {}
diff --git a/tests/ui/borrowck/issue-88434-removal-index-should-be-less.stderr b/tests/ui/borrowck/issue-88434-removal-index-should-be-less.stderr
index a22621c9c1b..8be693b84fe 100644
--- a/tests/ui/borrowck/issue-88434-removal-index-should-be-less.stderr
+++ b/tests/ui/borrowck/issue-88434-removal-index-should-be-less.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-88434-removal-index-should-be-less.rs:5:24
    |
 LL | const _CONST: &[u8] = &f(&[], |_| {});
-   |                        ^^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |                        ^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `f::<{closure@$DIR/issue-88434-removal-index-should-be-less.rs:5:31: 5:34}>`
   --> $DIR/issue-88434-removal-index-should-be-less.rs:12:5
diff --git a/tests/ui/coherence/const-errs-dont-conflict-103369.stderr b/tests/ui/coherence/const-errs-dont-conflict-103369.stderr
index b2104299f65..236a6982b1c 100644
--- a/tests/ui/coherence/const-errs-dont-conflict-103369.stderr
+++ b/tests/ui/coherence/const-errs-dont-conflict-103369.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: Some error occurred
   --> $DIR/const-errs-dont-conflict-103369.rs:5:25
    |
 LL | impl ConstGenericTrait<{my_fn(1)}> for () {}
-   |                         ^^^^^^^^ evaluation panicked: Some error occurred
+   |                         ^^^^^^^^ evaluation of constant value failed
    |
 note: inside `my_fn`
   --> $DIR/const-errs-dont-conflict-103369.rs:10:5
@@ -10,11 +10,11 @@ note: inside `my_fn`
 LL |     panic!("Some error occurred");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: Some error occurred
   --> $DIR/const-errs-dont-conflict-103369.rs:7:25
    |
 LL | impl ConstGenericTrait<{my_fn(2)}> for () {}
-   |                         ^^^^^^^^ evaluation panicked: Some error occurred
+   |                         ^^^^^^^^ evaluation of constant value failed
    |
 note: inside `my_fn`
   --> $DIR/const-errs-dont-conflict-103369.rs:10:5
diff --git a/tests/ui/const-generics/defaults/default-param-wf-concrete.next.stderr b/tests/ui/const-generics/defaults/default-param-wf-concrete.next.stderr
index 35aae462443..9a4e284875b 100644
--- a/tests/ui/const-generics/defaults/default-param-wf-concrete.next.stderr
+++ b/tests/ui/const-generics/defaults/default-param-wf-concrete.next.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
   --> $DIR/default-param-wf-concrete.rs:4:28
    |
 LL | struct Foo<const N: u8 = { 255 + 1 }>;
-   |                            ^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
+   |                            ^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/defaults/default-param-wf-concrete.old.stderr b/tests/ui/const-generics/defaults/default-param-wf-concrete.old.stderr
index 35aae462443..9a4e284875b 100644
--- a/tests/ui/const-generics/defaults/default-param-wf-concrete.old.stderr
+++ b/tests/ui/const-generics/defaults/default-param-wf-concrete.old.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
   --> $DIR/default-param-wf-concrete.rs:4:28
    |
 LL | struct Foo<const N: u8 = { 255 + 1 }>;
-   |                            ^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
+   |                            ^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/defaults/default-param-wf-concrete.rs b/tests/ui/const-generics/defaults/default-param-wf-concrete.rs
index f181f582332..0385e55e3b2 100644
--- a/tests/ui/const-generics/defaults/default-param-wf-concrete.rs
+++ b/tests/ui/const-generics/defaults/default-param-wf-concrete.rs
@@ -2,5 +2,5 @@
 //@[next] compile-flags: -Znext-solver
 
 struct Foo<const N: u8 = { 255 + 1 }>;
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflow
 fn main() {}
diff --git a/tests/ui/const-generics/defaults/wfness.rs b/tests/ui/const-generics/defaults/wfness.rs
index a93f670815a..99e9452b46a 100644
--- a/tests/ui/const-generics/defaults/wfness.rs
+++ b/tests/ui/const-generics/defaults/wfness.rs
@@ -1,5 +1,5 @@
 struct Ooopsies<const N: u8 = { u8::MAX + 1 }>;
-//~^ error: evaluation of constant value failed
+//~^ error: overflow
 
 trait Trait<const N: u8> {}
 impl Trait<3> for () {}
diff --git a/tests/ui/const-generics/defaults/wfness.stderr b/tests/ui/const-generics/defaults/wfness.stderr
index 290a80bd32f..f99180fcdae 100644
--- a/tests/ui/const-generics/defaults/wfness.stderr
+++ b/tests/ui/const-generics/defaults/wfness.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
   --> $DIR/wfness.rs:1:33
    |
 LL | struct Ooopsies<const N: u8 = { u8::MAX + 1 }>;
-   |                                 ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
+   |                                 ^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0277]: the trait bound `(): Trait<2>` is not satisfied
   --> $DIR/wfness.rs:8:9
diff --git a/tests/ui/const-generics/generic_const_exprs/from-sig-fail.rs b/tests/ui/const-generics/generic_const_exprs/from-sig-fail.rs
index b8f9827ec91..16753749702 100644
--- a/tests/ui/const-generics/generic_const_exprs/from-sig-fail.rs
+++ b/tests/ui/const-generics/generic_const_exprs/from-sig-fail.rs
@@ -2,7 +2,7 @@
 #![allow(incomplete_features)]
 
 fn test<const N: usize>() -> [u8; N - 1] {
-    //~^ ERROR evaluation of `test::<0>::{constant#0}` failed
+    //~^ ERROR overflow
     todo!()
 }
 
diff --git a/tests/ui/const-generics/generic_const_exprs/from-sig-fail.stderr b/tests/ui/const-generics/generic_const_exprs/from-sig-fail.stderr
index 080e920258d..c993b8c9bd7 100644
--- a/tests/ui/const-generics/generic_const_exprs/from-sig-fail.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/from-sig-fail.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `test::<0>::{constant#0}` failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/from-sig-fail.rs:4:35
    |
 LL | fn test<const N: usize>() -> [u8; N - 1] {
-   |                                   ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |                                   ^^^^^ evaluation of `test::<0>::{constant#0}` failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/generic_const_exprs/simple_fail.rs b/tests/ui/const-generics/generic_const_exprs/simple_fail.rs
index cae54df4c12..e89b5707fe2 100644
--- a/tests/ui/const-generics/generic_const_exprs/simple_fail.rs
+++ b/tests/ui/const-generics/generic_const_exprs/simple_fail.rs
@@ -2,12 +2,12 @@
 #![allow(incomplete_features)]
 
 type Arr<const N: usize> = [u8; N - 1];
-//~^ ERROR evaluation of `Arr::<0>::{constant#0}` failed
+//~^ ERROR overflow
 
 fn test<const N: usize>() -> Arr<N>
 where
     [u8; N - 1]: Sized,
-    //~^ ERROR evaluation of `test::<0>::{constant#0}` failed
+    //~^ ERROR overflow
 {
     todo!()
 }
diff --git a/tests/ui/const-generics/generic_const_exprs/simple_fail.stderr b/tests/ui/const-generics/generic_const_exprs/simple_fail.stderr
index a25fa56b7d4..1e8343e9471 100644
--- a/tests/ui/const-generics/generic_const_exprs/simple_fail.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/simple_fail.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of `test::<0>::{constant#0}` failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/simple_fail.rs:9:10
    |
 LL |     [u8; N - 1]: Sized,
-   |          ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |          ^^^^^ evaluation of `test::<0>::{constant#0}` failed
 
-error[E0080]: evaluation of `Arr::<0>::{constant#0}` failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/simple_fail.rs:4:33
    |
 LL | type Arr<const N: usize> = [u8; N - 1];
-   |                                 ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |                                 ^^^^^ evaluation of `Arr::<0>::{constant#0}` failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/const-generics/issues/issue-100313.rs b/tests/ui/const-generics/issues/issue-100313.rs
index 7d43d7bee34..1f61356162c 100644
--- a/tests/ui/const-generics/issues/issue-100313.rs
+++ b/tests/ui/const-generics/issues/issue-100313.rs
@@ -15,7 +15,7 @@ impl<const B: &'static bool> T<B> {
 
 const _: () = {
     let x = T::<{ &true }>;
-    x.set_false(); //~ ERROR evaluation of constant value failed [E0080]
+    x.set_false(); //~ ERROR writing to ALLOC0 which is read-only
 };
 
 fn main() {}
diff --git a/tests/ui/const-generics/issues/issue-100313.stderr b/tests/ui/const-generics/issues/issue-100313.stderr
index 98c3ec5379b..08fef3d4d0e 100644
--- a/tests/ui/const-generics/issues/issue-100313.stderr
+++ b/tests/ui/const-generics/issues/issue-100313.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: writing to ALLOC0 which is read-only
   --> $DIR/issue-100313.rs:18:5
    |
 LL |     x.set_false();
-   |     ^^^^^^^^^^^^^ writing to ALLOC0 which is read-only
+   |     ^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `T::<&true>::set_false`
   --> $DIR/issue-100313.rs:11:13
diff --git a/tests/ui/const-generics/min_const_generics/invalid-patterns.32bit.stderr b/tests/ui/const-generics/min_const_generics/invalid-patterns.32bit.stderr
index d1f3b08dd36..11398a07a45 100644
--- a/tests/ui/const-generics/min_const_generics/invalid-patterns.32bit.stderr
+++ b/tests/ui/const-generics/min_const_generics/invalid-patterns.32bit.stderr
@@ -1,36 +1,36 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/invalid-patterns.rs:40:32
    |
 LL |   get_flag::<false, { unsafe { char_raw.character } }>();
-   |                                ^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/invalid-patterns.rs:43:14
+error[E0080]: constructing invalid value: encountered 0x42, but expected a boolean
+  --> $DIR/invalid-patterns.rs:42:14
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, 'z'>();
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x42, but expected a boolean
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                42                                              │ B
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/invalid-patterns.rs:45:14
+error[E0080]: constructing invalid value: encountered 0x42, but expected a boolean
+  --> $DIR/invalid-patterns.rs:44:14
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, { unsafe { char_raw.character } }>();
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x42, but expected a boolean
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                42                                              │ B
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/invalid-patterns.rs:45:58
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/invalid-patterns.rs:44:58
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, { unsafe { char_raw.character } }>();
-   |                                                          ^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                                          ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0308]: mismatched types
   --> $DIR/invalid-patterns.rs:31:21
diff --git a/tests/ui/const-generics/min_const_generics/invalid-patterns.64bit.stderr b/tests/ui/const-generics/min_const_generics/invalid-patterns.64bit.stderr
index d1f3b08dd36..11398a07a45 100644
--- a/tests/ui/const-generics/min_const_generics/invalid-patterns.64bit.stderr
+++ b/tests/ui/const-generics/min_const_generics/invalid-patterns.64bit.stderr
@@ -1,36 +1,36 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/invalid-patterns.rs:40:32
    |
 LL |   get_flag::<false, { unsafe { char_raw.character } }>();
-   |                                ^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/invalid-patterns.rs:43:14
+error[E0080]: constructing invalid value: encountered 0x42, but expected a boolean
+  --> $DIR/invalid-patterns.rs:42:14
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, 'z'>();
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x42, but expected a boolean
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                42                                              │ B
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/invalid-patterns.rs:45:14
+error[E0080]: constructing invalid value: encountered 0x42, but expected a boolean
+  --> $DIR/invalid-patterns.rs:44:14
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, { unsafe { char_raw.character } }>();
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x42, but expected a boolean
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                42                                              │ B
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/invalid-patterns.rs:45:58
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/invalid-patterns.rs:44:58
    |
 LL |   get_flag::<{ unsafe { bool_raw.boolean } }, { unsafe { char_raw.character } }>();
-   |                                                          ^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                                          ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0308]: mismatched types
   --> $DIR/invalid-patterns.rs:31:21
diff --git a/tests/ui/const-generics/min_const_generics/invalid-patterns.rs b/tests/ui/const-generics/min_const_generics/invalid-patterns.rs
index 10b0d742a0a..85f019adf66 100644
--- a/tests/ui/const-generics/min_const_generics/invalid-patterns.rs
+++ b/tests/ui/const-generics/min_const_generics/invalid-patterns.rs
@@ -38,12 +38,10 @@ fn main() {
 
 
   get_flag::<false, { unsafe { char_raw.character } }>();
-  //~^ ERROR evaluation of constant value failed
-  //~| NOTE uninitialized
+  //~^ ERROR uninitialized
   get_flag::<{ unsafe { bool_raw.boolean } }, 'z'>();
-  //~^ ERROR it is undefined behavior
+  //~^ ERROR 0x42, but expected a boolean
   get_flag::<{ unsafe { bool_raw.boolean } }, { unsafe { char_raw.character } }>();
-  //~^ ERROR evaluation of constant value failed
-  //~| NOTE uninitialized
-  //~| ERROR it is undefined behavior
+  //~^ ERROR uninitialized
+  //~| ERROR 0x42, but expected a boolean
 }
diff --git a/tests/ui/const-ptr/forbidden_slices.rs b/tests/ui/const-ptr/forbidden_slices.rs
index 001cfd66ad1..fcb0dccf750 100644
--- a/tests/ui/const-ptr/forbidden_slices.rs
+++ b/tests/ui/const-ptr/forbidden_slices.rs
@@ -14,24 +14,24 @@ use std::{
 
 // Null is never valid for references
 pub static S0: &[u32] = unsafe { from_raw_parts(ptr::null(), 0) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: null reference
 pub static S1: &[()] = unsafe { from_raw_parts(ptr::null(), 0) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: null reference
 
 // Out of bounds
 pub static S2: &[u32] = unsafe { from_raw_parts(&D0, 2) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: dangling reference (going beyond the bounds of its allocation)
 
 // Reading uninitialized  data
-pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) }; //~ ERROR: it is undefined behavior to use this value
+pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) }; //~ ERROR: uninitialized memory
 // Reinterpret pointers as integers (UB in CTFE.)
-pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, size_of::<&u32>()) }; //~ ERROR: it is undefined behavior to use this value
+pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, size_of::<&u32>()) }; //~ ERROR: pointer, but expected an integer
 // Layout mismatch
-pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) }; //~ ERROR: it is undefined behavior to use this value
+pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) }; //~ ERROR: 0x11, but expected a boolean
 
 // Reading padding is not ok
 pub static S7: &[u16] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: uninitialized memory
     let ptr = (&D2 as *const Struct as *const u16).add(1);
 
     from_raw_parts(ptr, 4)
@@ -39,53 +39,53 @@ pub static S7: &[u16] = unsafe {
 
 // Unaligned read
 pub static S8: &[u64] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: dangling reference (going beyond the bounds of its allocation)
     let ptr = (&D4 as *const [u32; 2] as *const u32).byte_add(1).cast::<u64>();
 
     from_raw_parts(ptr, 1)
 };
 
 pub static R0: &[u32] = unsafe { from_ptr_range(ptr::null()..ptr::null()) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR encountered a null reference
 pub static R1: &[()] = unsafe { from_ptr_range(ptr::null()..ptr::null()) }; // errors inside libcore
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR 0 < pointee_size && pointee_size <= isize::MAX as usize
 pub static R2: &[u32] = unsafe {
     let ptr = &D0 as *const u32;
     from_ptr_range(ptr..ptr.add(2)) // errors inside libcore
-    //~^ ERROR could not evaluate static initializer
+    //~^ ERROR in-bounds pointer arithmetic failed
 };
 pub static R4: &[u8] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: encountered uninitialized memory, but expected an integer
     let ptr = (&D1) as *const MaybeUninit<&u32> as *const u8;
     from_ptr_range(ptr..ptr.add(1))
 };
 pub static R5: &[u8] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: encountered a pointer, but expected an integer
     let ptr = &D3 as *const &u32;
     from_ptr_range(ptr.cast()..ptr.add(1).cast())
 };
 pub static R6: &[bool] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: 0x11, but expected a boolean
     let ptr = &D0 as *const u32 as *const bool;
     from_ptr_range(ptr..ptr.add(4))
 };
 pub static R7: &[u16] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: unaligned reference (required 2 byte alignment but found 1)
     let ptr = (&D2 as *const Struct as *const u16).byte_add(1);
     from_ptr_range(ptr..ptr.add(4))
 };
 pub static R8: &[u64] = unsafe {
     let ptr = (&D4 as *const [u32; 2] as *const u32).byte_add(1).cast::<u64>();
     from_ptr_range(ptr..ptr.add(1))
-    //~^ ERROR could not evaluate static initializer
+    //~^ ERROR in-bounds pointer arithmetic failed
 };
 
 // This is sneaky: &D0 and &D0 point to different objects
 // (even if at runtime they have the same address)
 pub static R9: &[u32] = unsafe { from_ptr_range(&D0..(&D0 as *const u32).add(1)) };
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR not both derived from the same allocation
 pub static R10: &[u32] = unsafe { from_ptr_range(&D0..&D0) };
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR not both derived from the same allocation
 
 const D0: u32 = 0x11111111; // Constant chosen for endianness-independent behavior.
 const D1: MaybeUninit<&u32> = MaybeUninit::uninit();
diff --git a/tests/ui/const-ptr/forbidden_slices.stderr b/tests/ui/const-ptr/forbidden_slices.stderr
index e618fbf7e0f..229074053e2 100644
--- a/tests/ui/const-ptr/forbidden_slices.stderr
+++ b/tests/ui/const-ptr/forbidden_slices.stderr
@@ -1,179 +1,179 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a null reference
   --> $DIR/forbidden_slices.rs:16:1
    |
 LL | pub static S0: &[u32] = unsafe { from_raw_parts(ptr::null(), 0) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a null reference
   --> $DIR/forbidden_slices.rs:18:1
    |
 LL | pub static S1: &[()] = unsafe { from_raw_parts(ptr::null(), 0) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
   --> $DIR/forbidden_slices.rs:22:1
    |
 LL | pub static S2: &[u32] = unsafe { from_raw_parts(&D0, 2) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
   --> $DIR/forbidden_slices.rs:26:1
    |
 LL | pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
   --> $DIR/forbidden_slices.rs:28:1
    |
 LL | pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, size_of::<&u32>()) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
   --> $DIR/forbidden_slices.rs:30:1
    |
 LL | pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
   --> $DIR/forbidden_slices.rs:33:1
    |
 LL | pub static S7: &[u16] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
   --> $DIR/forbidden_slices.rs:41:1
    |
 LL | pub static S8: &[u64] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a null reference
   --> $DIR/forbidden_slices.rs:48:1
    |
 LL | pub static R0: &[u32] = unsafe { from_ptr_range(ptr::null()..ptr::null()) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: evaluation panicked: assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize
   --> $DIR/forbidden_slices.rs:50:33
    |
 LL | pub static R1: &[()] = unsafe { from_ptr_range(ptr::null()..ptr::null()) }; // errors inside libcore
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by 8 bytes, but got ALLOC10 which is only 4 bytes from the end of the allocation
   --> $DIR/forbidden_slices.rs:54:25
    |
 LL |     from_ptr_range(ptr..ptr.add(2)) // errors inside libcore
-   |                         ^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by 8 bytes, but got ALLOC10 which is only 4 bytes from the end of the allocation
+   |                         ^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
   --> $DIR/forbidden_slices.rs:57:1
    |
 LL | pub static R4: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
   --> $DIR/forbidden_slices.rs:62:1
    |
 LL | pub static R5: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
   --> $DIR/forbidden_slices.rs:67:1
    |
 LL | pub static R6: &[bool] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
   --> $DIR/forbidden_slices.rs:72:1
    |
 LL | pub static R7: &[u16] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by 8 bytes, but got ALLOC11+0x1 which is only 7 bytes from the end of the allocation
   --> $DIR/forbidden_slices.rs:79:25
    |
 LL |     from_ptr_range(ptr..ptr.add(1))
-   |                         ^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by 8 bytes, but got ALLOC11+0x1 which is only 7 bytes from the end of the allocation
+   |                         ^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
   --> $DIR/forbidden_slices.rs:85:34
    |
 LL | pub static R9: &[u32] = unsafe { from_ptr_range(&D0..(&D0 as *const u32).add(1)) };
-   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
+   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
   --> $DIR/forbidden_slices.rs:87:35
    |
 LL | pub static R10: &[u32] = unsafe { from_ptr_range(&D0..&D0) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 18 previous errors
 
diff --git a/tests/ui/const-ptr/out_of_bounds_read.rs b/tests/ui/const-ptr/out_of_bounds_read.rs
index ccf45bf324a..b09978badde 100644
--- a/tests/ui/const-ptr/out_of_bounds_read.rs
+++ b/tests/ui/const-ptr/out_of_bounds_read.rs
@@ -6,9 +6,9 @@ fn main() {
     const PAST_END_PTR: *const u32 = unsafe { DATA.as_ptr().add(1) };
 
     const _READ: u32 = unsafe { ptr::read(PAST_END_PTR) };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR at or beyond the end of the allocation
     const _CONST_READ: u32 = unsafe { PAST_END_PTR.read() };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR at or beyond the end of the allocation
     const _MUT_READ: u32 = unsafe { (PAST_END_PTR as *mut u32).read() };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR at or beyond the end of the allocation
 }
diff --git a/tests/ui/const-ptr/out_of_bounds_read.stderr b/tests/ui/const-ptr/out_of_bounds_read.stderr
index 8f93793802b..b6a74c888e2 100644
--- a/tests/ui/const-ptr/out_of_bounds_read.stderr
+++ b/tests/ui/const-ptr/out_of_bounds_read.stderr
@@ -1,20 +1,20 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
   --> $DIR/out_of_bounds_read.rs:8:33
    |
 LL |     const _READ: u32 = unsafe { ptr::read(PAST_END_PTR) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
   --> $DIR/out_of_bounds_read.rs:10:39
    |
 LL |     const _CONST_READ: u32 = unsafe { PAST_END_PTR.read() };
-   |                                       ^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
+   |                                       ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
   --> $DIR/out_of_bounds_read.rs:12:37
    |
 LL |     const _MUT_READ: u32 = unsafe { (PAST_END_PTR as *mut u32).read() };
-   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC0+0x4 which is at or beyond the end of the allocation of size 4 bytes
+   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/consts/assert-type-intrinsics.rs b/tests/ui/consts/assert-type-intrinsics.rs
index 32b5f5c92c5..91c8dd00e89 100644
--- a/tests/ui/consts/assert-type-intrinsics.rs
+++ b/tests/ui/consts/assert-type-intrinsics.rs
@@ -9,14 +9,14 @@ fn main() {
 
     const _BAD1: () = unsafe {
         MaybeUninit::<!>::uninit().assume_init();
-        //~^ERROR: evaluation of constant value failed
+        //~^ERROR: uninhabited
     };
     const _BAD2: () = {
         intrinsics::assert_mem_uninitialized_valid::<&'static i32>();
-        //~^ERROR: evaluation of constant value failed
+        //~^ERROR: uninitialized
     };
     const _BAD3: () = {
         intrinsics::assert_zero_valid::<&'static i32>();
-        //~^ERROR: evaluation of constant value failed
+        //~^ERROR: zero-initialize type `&i32`
     };
 }
diff --git a/tests/ui/consts/assert-type-intrinsics.stderr b/tests/ui/consts/assert-type-intrinsics.stderr
index 92c0610a248..1e36eb5c25f 100644
--- a/tests/ui/consts/assert-type-intrinsics.stderr
+++ b/tests/ui/consts/assert-type-intrinsics.stderr
@@ -1,20 +1,20 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: aborted execution: attempted to instantiate uninhabited type `!`
   --> $DIR/assert-type-intrinsics.rs:11:9
    |
 LL |         MaybeUninit::<!>::uninit().assume_init();
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: aborted execution: attempted to instantiate uninhabited type `!`
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: aborted execution: attempted to leave type `&i32` uninitialized, which is invalid
   --> $DIR/assert-type-intrinsics.rs:15:9
    |
 LL |         intrinsics::assert_mem_uninitialized_valid::<&'static i32>();
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: aborted execution: attempted to leave type `&i32` uninitialized, which is invalid
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: aborted execution: attempted to zero-initialize type `&i32`, which is invalid
   --> $DIR/assert-type-intrinsics.rs:19:9
    |
 LL |         intrinsics::assert_zero_valid::<&'static i32>();
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: aborted execution: attempted to zero-initialize type `&i32`, which is invalid
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/consts/assoc_const_generic_impl.rs b/tests/ui/consts/assoc_const_generic_impl.rs
index 5820a724d07..a4904795254 100644
--- a/tests/ui/consts/assoc_const_generic_impl.rs
+++ b/tests/ui/consts/assoc_const_generic_impl.rs
@@ -6,7 +6,7 @@ trait ZeroSized: Sized {
 }
 
 impl<T: Sized> ZeroSized for T {
-    const I_AM_ZERO_SIZED: ()  = [()][std::mem::size_of::<Self>()]; //~ ERROR evaluation of `<u32 as ZeroSized>::I_AM_ZERO_SIZED` failed
+    const I_AM_ZERO_SIZED: () = [()][std::mem::size_of::<Self>()]; //~ ERROR index out of bounds: the length is 1 but the index is 4
     fn requires_zero_size(self) {
         Self::I_AM_ZERO_SIZED;
         println!("requires_zero_size called");
diff --git a/tests/ui/consts/assoc_const_generic_impl.stderr b/tests/ui/consts/assoc_const_generic_impl.stderr
index 45219508396..e44997b624d 100644
--- a/tests/ui/consts/assoc_const_generic_impl.stderr
+++ b/tests/ui/consts/assoc_const_generic_impl.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<u32 as ZeroSized>::I_AM_ZERO_SIZED` failed
-  --> $DIR/assoc_const_generic_impl.rs:9:34
+error[E0080]: index out of bounds: the length is 1 but the index is 4
+  --> $DIR/assoc_const_generic_impl.rs:9:33
    |
-LL |     const I_AM_ZERO_SIZED: ()  = [()][std::mem::size_of::<Self>()];
-   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 4
+LL |     const I_AM_ZERO_SIZED: () = [()][std::mem::size_of::<Self>()];
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `<u32 as ZeroSized>::I_AM_ZERO_SIZED` failed
 
 note: erroneous constant encountered
   --> $DIR/assoc_const_generic_impl.rs:11:9
diff --git a/tests/ui/consts/const-array-oob.rs b/tests/ui/consts/const-array-oob.rs
index 4b457d1c23c..dc713b74d7f 100644
--- a/tests/ui/consts/const-array-oob.rs
+++ b/tests/ui/consts/const-array-oob.rs
@@ -1,11 +1,9 @@
 const FOO: [usize; 3] = [1, 2, 3];
 const BAR: usize = FOO[5];
-//~^ ERROR: evaluation of constant value failed
-//~| NOTE index out of bounds: the length is 3 but the index is 5
+//~^ ERROR: index out of bounds: the length is 3 but the index is 5
 
 const BLUB: [u32; FOO[4]] = [5, 6];
-//~^ ERROR evaluation of constant value failed [E0080]
-//~| NOTE index out of bounds: the length is 3 but the index is 4
+//~^ ERROR index out of bounds: the length is 3 but the index is 4
 
 fn main() {
     let _ = BAR;
diff --git a/tests/ui/consts/const-array-oob.stderr b/tests/ui/consts/const-array-oob.stderr
index 89427c051e7..80549d84822 100644
--- a/tests/ui/consts/const-array-oob.stderr
+++ b/tests/ui/consts/const-array-oob.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-array-oob.rs:6:19
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/const-array-oob.rs:5:19
    |
 LL | const BLUB: [u32; FOO[4]] = [5, 6];
-   |                   ^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                   ^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 3 but the index is 5
   --> $DIR/const-array-oob.rs:2:20
    |
 LL | const BAR: usize = FOO[5];
-   |                    ^^^^^^ index out of bounds: the length is 3 but the index is 5
+   |                    ^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-assert-unchecked-ub.rs b/tests/ui/consts/const-assert-unchecked-ub.rs
index ffc02eedcb7..a62abcf12d6 100644
--- a/tests/ui/consts/const-assert-unchecked-ub.rs
+++ b/tests/ui/consts/const-assert-unchecked-ub.rs
@@ -1,6 +1,6 @@
 const _: () = unsafe {
     let n = u32::MAX.count_ones();
-    std::hint::assert_unchecked(n < 32); //~ ERROR evaluation of constant value failed
+    std::hint::assert_unchecked(n < 32); //~ ERROR `assume` called with `false`
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-assert-unchecked-ub.stderr b/tests/ui/consts/const-assert-unchecked-ub.stderr
index 468f15f3472..877eef24d77 100644
--- a/tests/ui/consts/const-assert-unchecked-ub.stderr
+++ b/tests/ui/consts/const-assert-unchecked-ub.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: `assume` called with `false`
   --> $DIR/const-assert-unchecked-ub.rs:3:5
    |
 LL |     std::hint::assert_unchecked(n < 32);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `assume` called with `false`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-compare-bytes-ub.rs b/tests/ui/consts/const-compare-bytes-ub.rs
index 9dafae1efd1..0bc8585a4ee 100644
--- a/tests/ui/consts/const-compare-bytes-ub.rs
+++ b/tests/ui/consts/const-compare-bytes-ub.rs
@@ -7,34 +7,34 @@ use std::mem::MaybeUninit;
 fn main() {
     const LHS_NULL: i32 = unsafe {
         compare_bytes(0 as *const u8, 2 as *const u8, 1)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory access failed
     };
     const RHS_NULL: i32 = unsafe {
         compare_bytes(1 as *const u8, 0 as *const u8, 1)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory access failed
     };
     const DANGLING_PTR_NON_ZERO_LENGTH: i32 = unsafe {
         compare_bytes(1 as *const u8, 2 as *const u8, 1)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory access failed
     };
     const LHS_OUT_OF_BOUNDS: i32 = unsafe {
         compare_bytes([1, 2, 3].as_ptr(), [1, 2, 3, 4].as_ptr(), 4)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory access failed
     };
     const RHS_OUT_OF_BOUNDS: i32 = unsafe {
         compare_bytes([1, 2, 3, 4].as_ptr(), [1, 2, 3].as_ptr(), 4)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory access failed
     };
     const LHS_UNINIT: i32 = unsafe {
         compare_bytes(MaybeUninit::uninit().as_ptr(), [1].as_ptr(), 1)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory is uninitialized
     };
     const RHS_UNINIT: i32 = unsafe {
         compare_bytes([1].as_ptr(), MaybeUninit::uninit().as_ptr(), 1)
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR memory is uninitialized
     };
     const WITH_PROVENANCE: i32 = unsafe {
         compare_bytes([&1].as_ptr().cast(), [&2].as_ptr().cast(), std::mem::size_of::<usize>())
-        //~^ ERROR evaluation of constant value failed
+        //~^ ERROR unable to turn pointer into integer
     };
 }
diff --git a/tests/ui/consts/const-compare-bytes-ub.stderr b/tests/ui/consts/const-compare-bytes-ub.stderr
index 0e77310c6ba..98ed4c96b83 100644
--- a/tests/ui/consts/const-compare-bytes-ub.stderr
+++ b/tests/ui/consts/const-compare-bytes-ub.stderr
@@ -1,50 +1,50 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 1 byte, but got null pointer
   --> $DIR/const-compare-bytes-ub.rs:9:9
    |
 LL |         compare_bytes(0 as *const u8, 2 as *const u8, 1)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 1 byte, but got null pointer
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/const-compare-bytes-ub.rs:13:9
    |
 LL |         compare_bytes(1 as *const u8, 0 as *const u8, 1)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/const-compare-bytes-ub.rs:17:9
    |
 LL |         compare_bytes(1 as *const u8, 2 as *const u8, 1)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC0 which is only 3 bytes from the end of the allocation
   --> $DIR/const-compare-bytes-ub.rs:21:9
    |
 LL |         compare_bytes([1, 2, 3].as_ptr(), [1, 2, 3, 4].as_ptr(), 4)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC0 which is only 3 bytes from the end of the allocation
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC1 which is only 3 bytes from the end of the allocation
   --> $DIR/const-compare-bytes-ub.rs:25:9
    |
 LL |         compare_bytes([1, 2, 3, 4].as_ptr(), [1, 2, 3].as_ptr(), 4)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC1 which is only 3 bytes from the end of the allocation
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: reading memory at ALLOC2[0x0..0x1], but memory is uninitialized at [0x0..0x1], and this operation requires initialized memory
   --> $DIR/const-compare-bytes-ub.rs:29:9
    |
 LL |         compare_bytes(MaybeUninit::uninit().as_ptr(), [1].as_ptr(), 1)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reading memory at ALLOC2[0x0..0x1], but memory is uninitialized at [0x0..0x1], and this operation requires initialized memory
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: reading memory at ALLOC3[0x0..0x1], but memory is uninitialized at [0x0..0x1], and this operation requires initialized memory
   --> $DIR/const-compare-bytes-ub.rs:33:9
    |
 LL |         compare_bytes([1].as_ptr(), MaybeUninit::uninit().as_ptr(), 1)
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reading memory at ALLOC3[0x0..0x1], but memory is uninitialized at [0x0..0x1], and this operation requires initialized memory
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-compare-bytes-ub.rs:37:9
    |
 LL |         compare_bytes([&1].as_ptr().cast(), [&2].as_ptr().cast(), std::mem::size_of::<usize>())
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/const-deref-ptr.rs b/tests/ui/consts/const-deref-ptr.rs
index c80cb95ea93..ae928f55ebd 100644
--- a/tests/ui/consts/const-deref-ptr.rs
+++ b/tests/ui/consts/const-deref-ptr.rs
@@ -1,8 +1,7 @@
 // Check that you can't dereference invalid raw pointers in constants.
 
 fn main() {
-    static C: u64 = unsafe {*(0xdeadbeef as *const u64)};
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE dangling pointer
+    static C: u64 = unsafe { *(0xdeadbeef as *const u64) };
+    //~^ ERROR dangling pointer
     println!("{}", C);
 }
diff --git a/tests/ui/consts/const-deref-ptr.stderr b/tests/ui/consts/const-deref-ptr.stderr
index 37502864947..8f70f207d51 100644
--- a/tests/ui/consts/const-deref-ptr.stderr
+++ b/tests/ui/consts/const-deref-ptr.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
-  --> $DIR/const-deref-ptr.rs:4:29
+error[E0080]: memory access failed: attempting to access 8 bytes, but got 0xdeadbeef[noalloc] which is a dangling pointer (it has no provenance)
+  --> $DIR/const-deref-ptr.rs:4:30
    |
-LL |     static C: u64 = unsafe {*(0xdeadbeef as *const u64)};
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 8 bytes, but got 0xdeadbeef[noalloc] which is a dangling pointer (it has no provenance)
+LL |     static C: u64 = unsafe { *(0xdeadbeef as *const u64) };
+   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-err-early.rs b/tests/ui/consts/const-err-early.rs
index a3105b4fc4a..998ac951ea9 100644
--- a/tests/ui/consts/const-err-early.rs
+++ b/tests/ui/consts/const-err-early.rs
@@ -1,8 +1,8 @@
-pub const A: i8 = -i8::MIN; //~ ERROR constant
-pub const B: u8 = 200u8 + 200u8; //~ ERROR constant
-pub const C: u8 = 200u8 * 4; //~ ERROR constant
-pub const D: u8 = 42u8 - (42u8 + 1); //~ ERROR constant
-pub const E: u8 = [5u8][1]; //~ ERROR constant
+pub const A: i8 = -i8::MIN; //~ ERROR overflow
+pub const B: u8 = 200u8 + 200u8; //~ ERROR overflow
+pub const C: u8 = 200u8 * 4; //~ ERROR overflow
+pub const D: u8 = 42u8 - (42u8 + 1); //~ ERROR overflow
+pub const E: u8 = [5u8][1]; //~ ERROR index out of bounds
 
 fn main() {
     let _a = A;
diff --git a/tests/ui/consts/const-err-early.stderr b/tests/ui/consts/const-err-early.stderr
index 59bf637b7ad..8fa94ad8e35 100644
--- a/tests/ui/consts/const-err-early.stderr
+++ b/tests/ui/consts/const-err-early.stderr
@@ -1,32 +1,32 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to negate `i8::MIN`, which would overflow
   --> $DIR/const-err-early.rs:1:19
    |
 LL | pub const A: i8 = -i8::MIN;
-   |                   ^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
+   |                   ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `200_u8 + 200_u8`, which would overflow
   --> $DIR/const-err-early.rs:2:19
    |
 LL | pub const B: u8 = 200u8 + 200u8;
-   |                   ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8`, which would overflow
+   |                   ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `200_u8 * 4_u8`, which would overflow
   --> $DIR/const-err-early.rs:3:19
    |
 LL | pub const C: u8 = 200u8 * 4;
-   |                   ^^^^^^^^^ attempt to compute `200_u8 * 4_u8`, which would overflow
+   |                   ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `42_u8 - 43_u8`, which would overflow
   --> $DIR/const-err-early.rs:4:19
    |
 LL | pub const D: u8 = 42u8 - (42u8 + 1);
-   |                   ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8`, which would overflow
+   |                   ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/const-err-early.rs:5:19
    |
 LL | pub const E: u8 = [5u8][1];
-   |                   ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |                   ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/consts/const-err-enum-discriminant.rs b/tests/ui/consts/const-err-enum-discriminant.rs
index 42165ff5346..190ef47f436 100644
--- a/tests/ui/consts/const-err-enum-discriminant.rs
+++ b/tests/ui/consts/const-err-enum-discriminant.rs
@@ -6,8 +6,7 @@ union Foo {
 
 enum Bar {
     Boo = [unsafe { Foo { b: () }.a }; 4][3],
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
 }
 
 fn main() {
diff --git a/tests/ui/consts/const-err-enum-discriminant.stderr b/tests/ui/consts/const-err-enum-discriminant.stderr
index 7cf34595dc9..66bc09b4f93 100644
--- a/tests/ui/consts/const-err-enum-discriminant.stderr
+++ b/tests/ui/consts/const-err-enum-discriminant.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/const-err-enum-discriminant.rs:8:21
    |
 LL |     Boo = [unsafe { Foo { b: () }.a }; 4][3],
-   |                     ^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                     ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-err-late.rs b/tests/ui/consts/const-err-late.rs
index f8bea388109..9cc2196a954 100644
--- a/tests/ui/consts/const-err-late.rs
+++ b/tests/ui/consts/const-err-late.rs
@@ -12,8 +12,8 @@ struct S<T>(T);
 
 impl<T> S<T> {
     const FOO: u8 = [5u8][1];
-    //~^ ERROR evaluation of `S::<i32>::FOO` failed
-    //~| ERROR evaluation of `S::<u32>::FOO` failed
+    //~^ ERROR index out of bounds: the length is 1 but the index is 1
+    //~| ERROR index out of bounds: the length is 1 but the index is 1
 }
 
 fn main() {
diff --git a/tests/ui/consts/const-err-late.stderr b/tests/ui/consts/const-err-late.stderr
index 0c021e8761e..0878df6ff2d 100644
--- a/tests/ui/consts/const-err-late.stderr
+++ b/tests/ui/consts/const-err-late.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `S::<i32>::FOO` failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/const-err-late.rs:14:21
    |
 LL |     const FOO: u8 = [5u8][1];
-   |                     ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |                     ^^^^^^^^ evaluation of `S::<i32>::FOO` failed
 
 note: erroneous constant encountered
   --> $DIR/const-err-late.rs:20:16
@@ -10,11 +10,11 @@ note: erroneous constant encountered
 LL |     black_box((S::<i32>::FOO, S::<u32>::FOO));
    |                ^^^^^^^^^^^^^
 
-error[E0080]: evaluation of `S::<u32>::FOO` failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/const-err-late.rs:14:21
    |
 LL |     const FOO: u8 = [5u8][1];
-   |                     ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |                     ^^^^^^^^ evaluation of `S::<u32>::FOO` failed
 
 note: erroneous constant encountered
   --> $DIR/const-err-late.rs:20:31
diff --git a/tests/ui/consts/const-err-multi.rs b/tests/ui/consts/const-err-multi.rs
index f21cc97345c..2fb0d291245 100644
--- a/tests/ui/consts/const-err-multi.rs
+++ b/tests/ui/consts/const-err-multi.rs
@@ -1,6 +1,6 @@
 pub const A: i8 = -i8::MIN;
-//~^ ERROR constant
-//~| NOTE attempt to negate `i8::MIN`, which would overflow
+//~^ NOTE constant
+//~| ERROR attempt to negate `i8::MIN`, which would overflow
 pub const B: i8 = A;
 //~^ NOTE constant
 pub const C: u8 = A as u8;
diff --git a/tests/ui/consts/const-err-multi.stderr b/tests/ui/consts/const-err-multi.stderr
index c60be59b87d..712c160a2c0 100644
--- a/tests/ui/consts/const-err-multi.stderr
+++ b/tests/ui/consts/const-err-multi.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to negate `i8::MIN`, which would overflow
   --> $DIR/const-err-multi.rs:1:19
    |
 LL | pub const A: i8 = -i8::MIN;
-   |                   ^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
+   |                   ^^^^^^^^ evaluation of constant value failed
 
 note: erroneous constant encountered
   --> $DIR/const-err-multi.rs:4:19
diff --git a/tests/ui/consts/const-eval-fail-too-big.rs b/tests/ui/consts/const-eval-fail-too-big.rs
index 4b5dbc1d7a4..b14505135fb 100644
--- a/tests/ui/consts/const-eval-fail-too-big.rs
+++ b/tests/ui/consts/const-eval-fail-too-big.rs
@@ -2,7 +2,7 @@
 struct B<
     A: Sized = [(); {
                    let x = [0u8; !0usize];
-                   //~^ ERROR evaluation of constant value failed
+                   //~^ ERROR too big for the target architecture
                    1
                }],
 > {
diff --git a/tests/ui/consts/const-eval-fail-too-big.stderr b/tests/ui/consts/const-eval-fail-too-big.stderr
index ae666483233..6f9dd178857 100644
--- a/tests/ui/consts/const-eval-fail-too-big.stderr
+++ b/tests/ui/consts/const-eval-fail-too-big.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: values of the type `[u8; usize::MAX]` are too big for the target architecture
   --> $DIR/const-eval-fail-too-big.rs:4:28
    |
 LL |                    let x = [0u8; !0usize];
-   |                            ^^^^^^^^^^^^^^ values of the type `[u8; usize::MAX]` are too big for the target architecture
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/assign-to-static-within-other-static.rs b/tests/ui/consts/const-eval/assign-to-static-within-other-static.rs
index 30e40bd8be1..7a7a2566940 100644
--- a/tests/ui/consts/const-eval/assign-to-static-within-other-static.rs
+++ b/tests/ui/consts/const-eval/assign-to-static-within-other-static.rs
@@ -6,7 +6,7 @@ use std::cell::UnsafeCell;
 static mut FOO: u32 = 42;
 static BOO: () = unsafe {
     FOO = 5;
-    //~^ ERROR could not evaluate static initializer [E0080]
+    //~^ ERROR modifying a static's initial value
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/assign-to-static-within-other-static.stderr b/tests/ui/consts/const-eval/assign-to-static-within-other-static.stderr
index 5300111a6b6..ceb7d910b57 100644
--- a/tests/ui/consts/const-eval/assign-to-static-within-other-static.stderr
+++ b/tests/ui/consts/const-eval/assign-to-static-within-other-static.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/assign-to-static-within-other-static.rs:8:5
    |
 LL |     FOO = 5;
-   |     ^^^^^^^ modifying a static's initial value from another static's initializer
+   |     ^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/conditional_array_execution.rs b/tests/ui/consts/const-eval/conditional_array_execution.rs
index 27d5383d6d4..1473efa7428 100644
--- a/tests/ui/consts/const-eval/conditional_array_execution.rs
+++ b/tests/ui/consts/const-eval/conditional_array_execution.rs
@@ -1,7 +1,7 @@
 const X: u32 = 5;
 const Y: u32 = 6;
 const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
-//~^ ERROR constant
+//~^ ERROR overflow
 
 fn main() {
     println!("{}", FOO);
diff --git a/tests/ui/consts/const-eval/conditional_array_execution.stderr b/tests/ui/consts/const-eval/conditional_array_execution.stderr
index 30034378079..d4f85ce7f56 100644
--- a/tests/ui/consts/const-eval/conditional_array_execution.stderr
+++ b/tests/ui/consts/const-eval/conditional_array_execution.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `5_u32 - 6_u32`, which would overflow
   --> $DIR/conditional_array_execution.rs:3:19
    |
 LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
-   |                   ^^^^^ attempt to compute `5_u32 - 6_u32`, which would overflow
+   |                   ^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-2.rs b/tests/ui/consts/const-eval/const-eval-overflow-2.rs
index bae8a7ce243..71ac655435b 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-2.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow-2.rs
@@ -8,7 +8,7 @@ use std::{i8, i16, i32, i64, isize};
 use std::{u8, u16, u32, u64, usize};
 
 const NEG_128: i8 = -128;
-const NEG_NEG_128: i8 = -NEG_128; //~ ERROR constant
+const NEG_NEG_128: i8 = -NEG_128; //~ ERROR overflow
 
 fn main() {
     match -128i8 {
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-2.stderr b/tests/ui/consts/const-eval/const-eval-overflow-2.stderr
index 5599ff931e8..6bd2a7482d2 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-2.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow-2.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to negate `i8::MIN`, which would overflow
   --> $DIR/const-eval-overflow-2.rs:11:25
    |
 LL | const NEG_NEG_128: i8 = -NEG_128;
-   |                         ^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
+   |                         ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-3.rs b/tests/ui/consts/const-eval/const-eval-overflow-3.rs
index bcc966dc962..bf7e791483a 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-3.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow-3.rs
@@ -16,7 +16,7 @@ use std::fmt;
 const A_I8_I
     : [u32; (i8::MAX as usize) + 1]
     = [0; (i8::MAX + 1) as usize];
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflow
 
 fn main() {
     foo(&A_I8_I[..]);
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-3.stderr b/tests/ui/consts/const-eval/const-eval-overflow-3.stderr
index 0437cd3adb4..07cc8c8df70 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-3.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow-3.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i8::MAX + 1_i8`, which would overflow
   --> $DIR/const-eval-overflow-3.rs:18:11
    |
 LL |     = [0; (i8::MAX + 1) as usize];
-   |           ^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
+   |           ^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-4.rs b/tests/ui/consts/const-eval/const-eval-overflow-4.rs
index 762c7a968a8..d42c29249af 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-4.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow-4.rs
@@ -9,7 +9,7 @@ use std::fmt;
 
 const A_I8_T
     : [u32; (i8::MAX as i8 + 1i8) as usize]
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR overflow
     = [0; (i8::MAX as usize) + 1];
 
 fn main() {
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-4.stderr b/tests/ui/consts/const-eval/const-eval-overflow-4.stderr
index ce5e59901c1..c4e4e6e10e6 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow-4.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow-4.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i8::MAX + 1_i8`, which would overflow
   --> $DIR/const-eval-overflow-4.rs:11:13
    |
 LL |     : [u32; (i8::MAX as i8 + 1i8) as usize]
-   |             ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
+   |             ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2.rs b/tests/ui/consts/const-eval/const-eval-overflow2.rs
index 1676f7c2af6..348c8e06f66 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow2.rs
@@ -11,47 +11,47 @@ const VALS_I8: (i8,) =
     (
      i8::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I16: (i16,) =
     (
      i16::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I32: (i32,) =
     (
      i32::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I64: (i64,) =
     (
      i64::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U8: (u8,) =
     (
      u8::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U16: (u16,) = (
      u16::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U32: (u32,) = (
      u32::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U64: (u64,) =
     (
      u64::MIN - 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 fn main() {
     foo(VALS_I8);
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2.stderr b/tests/ui/consts/const-eval/const-eval-overflow2.stderr
index 341c15daf65..fc0bbe3ed2a 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow2.stderr
@@ -1,50 +1,50 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i8::MIN - 1_i8`, which would overflow
   --> $DIR/const-eval-overflow2.rs:12:6
    |
 LL |      i8::MIN - 1,
-   |      ^^^^^^^^^^^ attempt to compute `i8::MIN - 1_i8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i16::MIN - 1_i16`, which would overflow
   --> $DIR/const-eval-overflow2.rs:18:6
    |
 LL |      i16::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i16::MIN - 1_i16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i32::MIN - 1_i32`, which would overflow
   --> $DIR/const-eval-overflow2.rs:24:6
    |
 LL |      i32::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i32::MIN - 1_i32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i64::MIN - 1_i64`, which would overflow
   --> $DIR/const-eval-overflow2.rs:30:6
    |
 LL |      i64::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i64::MIN - 1_i64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u8 - 1_u8`, which would overflow
   --> $DIR/const-eval-overflow2.rs:36:6
    |
 LL |      u8::MIN - 1,
-   |      ^^^^^^^^^^^ attempt to compute `0_u8 - 1_u8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u16 - 1_u16`, which would overflow
   --> $DIR/const-eval-overflow2.rs:41:6
    |
 LL |      u16::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `0_u16 - 1_u16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u32 - 1_u32`, which would overflow
   --> $DIR/const-eval-overflow2.rs:46:6
    |
 LL |      u32::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u64 - 1_u64`, which would overflow
   --> $DIR/const-eval-overflow2.rs:52:6
    |
 LL |      u64::MIN - 1,
-   |      ^^^^^^^^^^^^ attempt to compute `0_u64 - 1_u64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2b.rs b/tests/ui/consts/const-eval/const-eval-overflow2b.rs
index 59d1df5680d..b05b0b11105 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2b.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow2b.rs
@@ -11,47 +11,47 @@ const VALS_I8: (i8,) =
     (
      i8::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I16: (i16,) =
     (
      i16::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I32: (i32,) =
     (
      i32::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I64: (i64,) =
     (
      i64::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U8: (u8,) =
     (
      u8::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U16: (u16,) = (
      u16::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U32: (u32,) = (
      u32::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U64: (u64,) =
     (
      u64::MAX + 1,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 fn main() {
     foo(VALS_I8);
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2b.stderr b/tests/ui/consts/const-eval/const-eval-overflow2b.stderr
index e661836b4b9..cd8fbc5ee1c 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2b.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow2b.stderr
@@ -1,50 +1,50 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i8::MAX + 1_i8`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:12:6
    |
 LL |      i8::MAX + 1,
-   |      ^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i16::MAX + 1_i16`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:18:6
    |
 LL |      i16::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i16::MAX + 1_i16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i32::MAX + 1_i32`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:24:6
    |
 LL |      i32::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i64::MAX + 1_i64`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:30:6
    |
 LL |      i64::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `i64::MAX + 1_i64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:36:6
    |
 LL |      u8::MAX + 1,
-   |      ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u16::MAX + 1_u16`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:41:6
    |
 LL |      u16::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `u16::MAX + 1_u16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u32::MAX + 1_u32`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:46:6
    |
 LL |      u32::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `u32::MAX + 1_u32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u64::MAX + 1_u64`, which would overflow
   --> $DIR/const-eval-overflow2b.rs:52:6
    |
 LL |      u64::MAX + 1,
-   |      ^^^^^^^^^^^^ attempt to compute `u64::MAX + 1_u64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2c.rs b/tests/ui/consts/const-eval/const-eval-overflow2c.rs
index 33b89260115..ec87f5e066c 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2c.rs
+++ b/tests/ui/consts/const-eval/const-eval-overflow2c.rs
@@ -11,47 +11,47 @@ const VALS_I8: (i8,) =
     (
      i8::MIN * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I16: (i16,) =
     (
      i16::MIN * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I32: (i32,) =
     (
      i32::MIN * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_I64: (i64,) =
     (
      i64::MIN * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U8: (u8,) =
     (
      u8::MAX * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U16: (u16,) = (
      u16::MAX * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U32: (u32,) = (
      u32::MAX * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 const VALS_U64: (u64,) =
     (
      u64::MAX * 2,
      );
- //~^^ ERROR evaluation of constant value failed
+ //~^^ ERROR overflow
 
 fn main() {
     foo(VALS_I8);
diff --git a/tests/ui/consts/const-eval/const-eval-overflow2c.stderr b/tests/ui/consts/const-eval/const-eval-overflow2c.stderr
index 1fad15492fb..5914c40326b 100644
--- a/tests/ui/consts/const-eval/const-eval-overflow2c.stderr
+++ b/tests/ui/consts/const-eval/const-eval-overflow2c.stderr
@@ -1,50 +1,50 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i8::MIN * 2_i8`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:12:6
    |
 LL |      i8::MIN * 2,
-   |      ^^^^^^^^^^^ attempt to compute `i8::MIN * 2_i8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i16::MIN * 2_i16`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:18:6
    |
 LL |      i16::MIN * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `i16::MIN * 2_i16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i32::MIN * 2_i32`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:24:6
    |
 LL |      i32::MIN * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `i32::MIN * 2_i32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `i64::MIN * 2_i64`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:30:6
    |
 LL |      i64::MIN * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `i64::MIN * 2_i64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u8::MAX * 2_u8`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:36:6
    |
 LL |      u8::MAX * 2,
-   |      ^^^^^^^^^^^ attempt to compute `u8::MAX * 2_u8`, which would overflow
+   |      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u16::MAX * 2_u16`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:41:6
    |
 LL |      u16::MAX * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `u16::MAX * 2_u16`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u32::MAX * 2_u32`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:46:6
    |
 LL |      u32::MAX * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `u32::MAX * 2_u32`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `u64::MAX * 2_u64`, which would overflow
   --> $DIR/const-eval-overflow2c.rs:52:6
    |
 LL |      u64::MAX * 2,
-   |      ^^^^^^^^^^^^ attempt to compute `u64::MAX * 2_u64`, which would overflow
+   |      ^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/consts/const-eval/const-eval-query-stack.rs b/tests/ui/consts/const-eval/const-eval-query-stack.rs
index 8de398787b4..3728e2071d3 100644
--- a/tests/ui/consts/const-eval/const-eval-query-stack.rs
+++ b/tests/ui/consts/const-eval/const-eval-query-stack.rs
@@ -13,7 +13,7 @@
 //@ normalize-stderr: ".*omitted \d{1,} frame.*\n" -> ""
 #![allow(unconditional_panic)]
 
-const X: i32 = 1 / 0; //~ERROR constant
+const X: i32 = 1 / 0; //~ERROR attempt to divide `1_i32` by zero
 
 fn main() {
     let x: &'static i32 = &X;
diff --git a/tests/ui/consts/const-eval/const-eval-query-stack.stderr b/tests/ui/consts/const-eval/const-eval-query-stack.stderr
index 5a71c770fdc..c8bec4d4100 100644
--- a/tests/ui/consts/const-eval/const-eval-query-stack.stderr
+++ b/tests/ui/consts/const-eval/const-eval-query-stack.stderr
@@ -1,8 +1,8 @@
-error: internal compiler error[E0080]: evaluation of constant value failed
+error: internal compiler error[E0080]: attempt to divide `1_i32` by zero
   --> $DIR/const-eval-query-stack.rs:16:16
    |
 LL | const X: i32 = 1 / 0;
-   |                ^^^^^ attempt to divide `1_i32` by zero
+   |                ^^^^^ evaluation of constant value failed
 
 
 note: please make sure that you have updated to the latest nightly
diff --git a/tests/ui/consts/const-eval/const-pointer-values-in-various-types.64bit.stderr b/tests/ui/consts/const-eval/const-pointer-values-in-various-types.64bit.stderr
index 3eccd596274..ae7e035e038 100644
--- a/tests/ui/consts/const-eval/const-pointer-values-in-various-types.64bit.stderr
+++ b/tests/ui/consts/const-eval/const-pointer-values-in-various-types.64bit.stderr
@@ -1,254 +1,254 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-pointer-values-in-various-types.rs:27:49
    |
 LL |     const I32_REF_USIZE_UNION: usize = unsafe { Nonsense { int_32_ref: &3 }.u };
-   |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-pointer-values-in-various-types.rs:30:43
    |
 LL |     const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_8 };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-pointer-values-in-various-types.rs:33:45
    |
 LL |     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-pointer-values-in-various-types.rs:36:45
    |
 LL |     const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/const-pointer-values-in-various-types.rs:39:45
    |
 LL |     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/const-pointer-values-in-various-types.rs:42:47
    |
 LL |     const I32_REF_U128_UNION: u128 = unsafe { Nonsense { int_32_ref: &3 }.uint_128 };
-   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:46:43
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:45:43
    |
 LL |     const I32_REF_I8_UNION: i8 = unsafe { Nonsense { int_32_ref: &3 }.int_8 };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:49:45
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:48:45
    |
 LL |     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:52:45
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:51:45
    |
 LL |     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:55:45
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:54:45
    |
 LL |     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:58:47
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/const-pointer-values-in-various-types.rs:57:47
    |
 LL |     const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.int_128 };
-   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:62:45
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:60:45
    |
 LL |     const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:65:45
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:63:45
    |
 LL |     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.float_64 };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:68:47
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:66:47
    |
 LL |     const I32_REF_BOOL_UNION: bool = unsafe { Nonsense { int_32_ref: &3 }.truthy_falsey };
-   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:71:47
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:69:47
    |
 LL |     const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };
-   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:74:39
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:72:39
    |
 LL |     const STR_U8_UNION: u8 = unsafe { Nonsense { stringy: "3" }.uint_8 };
-   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:77:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:75:41
    |
 LL |     const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: "3" }.uint_16 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:80:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:78:41
    |
 LL |     const STR_U32_UNION: u32 = unsafe { Nonsense { stringy: "3" }.uint_32 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:83:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:81:41
    |
 LL |     const STR_U64_UNION: u64 = unsafe { Nonsense { stringy: "3" }.uint_64 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:86:43
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:84:43
    |
 LL |     const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: "3" }.uint_128 };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:89:39
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:87:39
    |
 LL |     const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: "3" }.int_8 };
-   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:92:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:90:41
    |
 LL |     const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: "3" }.int_16 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:95:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:93:41
    |
 LL |     const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: "3" }.int_32 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:98:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:96:41
    |
 LL |     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:101:43
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:99:43
    |
 LL |     const STR_I128_UNION: i128 = unsafe { Nonsense { stringy: "3" }.int_128 };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:104:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:102:41
    |
 LL |     const STR_F32_UNION: f32 = unsafe { Nonsense { stringy: "3" }.float_32 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:107:41
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:105:41
    |
 LL |     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64 };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:110:43
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:108:43
    |
 LL |     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: "3" }.truthy_falsey };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-pointer-values-in-various-types.rs:113:43
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/const-pointer-values-in-various-types.rs:111:43
    |
 LL |     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: "3" }.character };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/const-eval/const-pointer-values-in-various-types.rs b/tests/ui/consts/const-eval/const-pointer-values-in-various-types.rs
index ce7380cd155..5720d6ea91e 100644
--- a/tests/ui/consts/const-eval/const-pointer-values-in-various-types.rs
+++ b/tests/ui/consts/const-eval/const-pointer-values-in-various-types.rs
@@ -25,91 +25,89 @@ union Nonsense {
 
 fn main() {
     const I32_REF_USIZE_UNION: usize = unsafe { Nonsense { int_32_ref: &3 }.u };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_U8_UNION: u8 = unsafe { Nonsense { int_32_ref: &3 }.uint_8 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_U16_UNION: u16 = unsafe { Nonsense { int_32_ref: &3 }.uint_16 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_U32_UNION: u32 = unsafe { Nonsense { int_32_ref: &3 }.uint_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_U64_UNION: u64 = unsafe { Nonsense { int_32_ref: &3 }.uint_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_U128_UNION: u128 = unsafe { Nonsense { int_32_ref: &3 }.uint_128 };
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
 
     const I32_REF_I8_UNION: i8 = unsafe { Nonsense { int_32_ref: &3 }.int_8 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_I16_UNION: i16 = unsafe { Nonsense { int_32_ref: &3 }.int_16 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_I32_UNION: i32 = unsafe { Nonsense { int_32_ref: &3 }.int_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_I64_UNION: i64 = unsafe { Nonsense { int_32_ref: &3 }.int_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_I128_UNION: i128 = unsafe { Nonsense { int_32_ref: &3 }.int_128 };
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
 
     const I32_REF_F32_UNION: f32 = unsafe { Nonsense { int_32_ref: &3 }.float_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_F64_UNION: f64 = unsafe { Nonsense { int_32_ref: &3 }.float_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_BOOL_UNION: bool = unsafe { Nonsense { int_32_ref: &3 }.truthy_falsey };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const I32_REF_CHAR_UNION: char = unsafe { Nonsense { int_32_ref: &3 }.character };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_U8_UNION: u8 = unsafe { Nonsense { stringy: "3" }.uint_8 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_U16_UNION: u16 = unsafe { Nonsense { stringy: "3" }.uint_16 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_U32_UNION: u32 = unsafe { Nonsense { stringy: "3" }.uint_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_U64_UNION: u64 = unsafe { Nonsense { stringy: "3" }.uint_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_U128_UNION: u128 = unsafe { Nonsense { stringy: "3" }.uint_128 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_I8_UNION: i8 = unsafe { Nonsense { stringy: "3" }.int_8 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_I16_UNION: i16 = unsafe { Nonsense { stringy: "3" }.int_16 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_I32_UNION: i32 = unsafe { Nonsense { stringy: "3" }.int_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_I64_UNION: i64 = unsafe { Nonsense { stringy: "3" }.int_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_I128_UNION: i128 = unsafe { Nonsense { stringy: "3" }.int_128 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_F32_UNION: f32 = unsafe { Nonsense { stringy: "3" }.float_32 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_F64_UNION: f64 = unsafe { Nonsense { stringy: "3" }.float_64 };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_BOOL_UNION: bool = unsafe { Nonsense { stringy: "3" }.truthy_falsey };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 
     const STR_CHAR_UNION: char = unsafe { Nonsense { stringy: "3" }.character };
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 }
diff --git a/tests/ui/consts/const-eval/const_fn_ptr_fail2.rs b/tests/ui/consts/const-eval/const_fn_ptr_fail2.rs
index c6ae3af4427..03976a05b75 100644
--- a/tests/ui/consts/const-eval/const_fn_ptr_fail2.rs
+++ b/tests/ui/consts/const-eval/const_fn_ptr_fail2.rs
@@ -14,11 +14,11 @@ const fn bar(x: fn(usize) -> usize, y: usize) -> usize {
 }
 
 const Y: usize = bar(X, 2); // FIXME: should fail to typeck someday
-//~^ ERROR evaluation of constant value failed
-//~| NOTE calling non-const function `double`
+//~^ NOTE evaluation of constant value failed
+//~| ERROR calling non-const function `double`
 const Z: usize = bar(double, 2); // FIXME: should fail to typeck someday
-//~^ ERROR evaluation of constant value failed
-//~| NOTE calling non-const function `double`
+//~^ NOTE evaluation of constant value failed
+//~| ERROR calling non-const function `double`
 
 fn main() {
     assert_eq!(Y, 4);
diff --git a/tests/ui/consts/const-eval/const_fn_ptr_fail2.stderr b/tests/ui/consts/const-eval/const_fn_ptr_fail2.stderr
index a4d2e26c3af..caa0542b6aa 100644
--- a/tests/ui/consts/const-eval/const_fn_ptr_fail2.stderr
+++ b/tests/ui/consts/const-eval/const_fn_ptr_fail2.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: calling non-const function `double`
   --> $DIR/const_fn_ptr_fail2.rs:16:18
    |
 LL | const Y: usize = bar(X, 2); // FIXME: should fail to typeck someday
-   |                  ^^^^^^^^^ calling non-const function `double`
+   |                  ^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `bar`
   --> $DIR/const_fn_ptr_fail2.rs:9:5
@@ -10,11 +10,11 @@ note: inside `bar`
 LL |     x(y)
    |     ^^^^ the failure occurred here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: calling non-const function `double`
   --> $DIR/const_fn_ptr_fail2.rs:19:18
    |
 LL | const Z: usize = bar(double, 2); // FIXME: should fail to typeck someday
-   |                  ^^^^^^^^^^^^^^ calling non-const function `double`
+   |                  ^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `bar`
   --> $DIR/const_fn_ptr_fail2.rs:9:5
diff --git a/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.rs b/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.rs
index 0bf2f0e6669..45298df0243 100644
--- a/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.rs
+++ b/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.rs
@@ -1,5 +1,5 @@
 #![crate_type = "lib"]
 
 struct Bug([u8; panic!{"\t"}]);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 //~| NOTE: in this expansion of panic!
diff --git a/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.stderr b/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.stderr
index fae971c09f2..cda005bfd3b 100644
--- a/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.stderr
+++ b/tests/ui/consts/const-eval/const_panic-normalize-tabs-115498.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked:     
   --> $DIR/const_panic-normalize-tabs-115498.rs:3:17
    |
 LL | struct Bug([u8; panic!{"\t"}]);
-   |                 ^^^^^^^^^^^^ evaluation panicked:     
+   |                 ^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/const_panic.rs b/tests/ui/consts/const-eval/const_panic.rs
index 5b9a8f8e2a2..367396bab94 100644
--- a/tests/ui/consts/const-eval/const_panic.rs
+++ b/tests/ui/consts/const-eval/const_panic.rs
@@ -4,37 +4,37 @@
 const MSG: &str = "hello";
 
 const Z: () = std::panic!("cheese");
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Z2: () = std::panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Y: () = std::unreachable!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const X: () = std::unimplemented!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const W: () = std::panic!(MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const W2: () = std::panic!("{}", MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Z_CORE: () = core::panic!("cheese");
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Z2_CORE: () = core::panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Y_CORE: () = core::unreachable!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const X_CORE: () = core::unimplemented!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const W_CORE: () = core::panic!(MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const W2_CORE: () = core::panic!("{}", MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
diff --git a/tests/ui/consts/const-eval/const_panic.stderr b/tests/ui/consts/const-eval/const_panic.stderr
index 0874224e5f2..c37d035ab78 100644
--- a/tests/ui/consts/const-eval/const_panic.stderr
+++ b/tests/ui/consts/const-eval/const_panic.stderr
@@ -1,78 +1,78 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: cheese
   --> $DIR/const_panic.rs:6:15
    |
 LL | const Z: () = std::panic!("cheese");
-   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: cheese
+   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/const_panic.rs:9:16
    |
 LL | const Z2: () = std::panic!();
-   |                ^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |                ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: internal error: entered unreachable code
   --> $DIR/const_panic.rs:12:15
    |
 LL | const Y: () = std::unreachable!();
-   |               ^^^^^^^^^^^^^^^^^^^ evaluation panicked: internal error: entered unreachable code
+   |               ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: not implemented
   --> $DIR/const_panic.rs:15:15
    |
 LL | const X: () = std::unimplemented!();
-   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: not implemented
+   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `std::unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic.rs:18:15
    |
 LL | const W: () = std::panic!(MSG);
-   |               ^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |               ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic.rs:21:16
    |
 LL | const W2: () = std::panic!("{}", MSG);
-   |                ^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |                ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: cheese
   --> $DIR/const_panic.rs:24:20
    |
 LL | const Z_CORE: () = core::panic!("cheese");
-   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: cheese
+   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/const_panic.rs:27:21
    |
 LL | const Z2_CORE: () = core::panic!();
-   |                     ^^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |                     ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: internal error: entered unreachable code
   --> $DIR/const_panic.rs:30:20
    |
 LL | const Y_CORE: () = core::unreachable!();
-   |                    ^^^^^^^^^^^^^^^^^^^^ evaluation panicked: internal error: entered unreachable code
+   |                    ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: not implemented
   --> $DIR/const_panic.rs:33:20
    |
 LL | const X_CORE: () = core::unimplemented!();
-   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: not implemented
+   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `core::unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic.rs:36:20
    |
 LL | const W_CORE: () = core::panic!(MSG);
-   |                    ^^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |                    ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic.rs:39:21
    |
 LL | const W2_CORE: () = core::panic!("{}", MSG);
-   |                     ^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |                     ^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 12 previous errors
 
diff --git a/tests/ui/consts/const-eval/const_panic_2021.rs b/tests/ui/consts/const-eval/const_panic_2021.rs
index 31a80e71b7c..845f78beef9 100644
--- a/tests/ui/consts/const-eval/const_panic_2021.rs
+++ b/tests/ui/consts/const-eval/const_panic_2021.rs
@@ -4,31 +4,31 @@
 const MSG: &str = "hello";
 
 const A: () = std::panic!("blåhaj");
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const B: () = std::panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const C: () = std::unreachable!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const D: () = std::unimplemented!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const E: () = std::panic!("{}", MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const A_CORE: () = core::panic!("shark");
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const B_CORE: () = core::panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const C_CORE: () = core::unreachable!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const D_CORE: () = core::unimplemented!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const E_CORE: () = core::panic!("{}", MSG);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
diff --git a/tests/ui/consts/const-eval/const_panic_2021.stderr b/tests/ui/consts/const-eval/const_panic_2021.stderr
index 1496df4445a..18423f2c7d2 100644
--- a/tests/ui/consts/const-eval/const_panic_2021.stderr
+++ b/tests/ui/consts/const-eval/const_panic_2021.stderr
@@ -1,66 +1,66 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: blåhaj
   --> $DIR/const_panic_2021.rs:6:15
    |
 LL | const A: () = std::panic!("blåhaj");
-   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: blåhaj
+   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/const_panic_2021.rs:9:15
    |
 LL | const B: () = std::panic!();
-   |               ^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |               ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: internal error: entered unreachable code
   --> $DIR/const_panic_2021.rs:12:15
    |
 LL | const C: () = std::unreachable!();
-   |               ^^^^^^^^^^^^^^^^^^^ evaluation panicked: internal error: entered unreachable code
+   |               ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: not implemented
   --> $DIR/const_panic_2021.rs:15:15
    |
 LL | const D: () = std::unimplemented!();
-   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: not implemented
+   |               ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `std::unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic_2021.rs:18:15
    |
 LL | const E: () = std::panic!("{}", MSG);
-   |               ^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |               ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: shark
   --> $DIR/const_panic_2021.rs:21:20
    |
 LL | const A_CORE: () = core::panic!("shark");
-   |                    ^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: shark
+   |                    ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/const_panic_2021.rs:24:20
    |
 LL | const B_CORE: () = core::panic!();
-   |                    ^^^^^^^^^^^^^^ evaluation panicked: explicit panic
+   |                    ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: internal error: entered unreachable code
   --> $DIR/const_panic_2021.rs:27:20
    |
 LL | const C_CORE: () = core::unreachable!();
-   |                    ^^^^^^^^^^^^^^^^^^^^ evaluation panicked: internal error: entered unreachable code
+   |                    ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: not implemented
   --> $DIR/const_panic_2021.rs:30:20
    |
 LL | const D_CORE: () = core::unimplemented!();
-   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: not implemented
+   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `core::unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hello
   --> $DIR/const_panic_2021.rs:33:20
    |
 LL | const E_CORE: () = core::panic!("{}", MSG);
-   |                    ^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: hello
+   |                    ^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 10 previous errors
 
diff --git a/tests/ui/consts/const-eval/const_panic_libcore_bin.rs b/tests/ui/consts/const-eval/const_panic_libcore_bin.rs
index d4dc1a51d73..90ae5165d23 100644
--- a/tests/ui/consts/const-eval/const_panic_libcore_bin.rs
+++ b/tests/ui/consts/const-eval/const_panic_libcore_bin.rs
@@ -6,13 +6,13 @@
 use core::panic::PanicInfo;
 
 const Z: () = panic!("cheese");
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const Y: () = unreachable!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 const X: () = unimplemented!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked
 
 #[lang = "eh_personality"]
 fn eh() {}
diff --git a/tests/ui/consts/const-eval/const_panic_libcore_bin.stderr b/tests/ui/consts/const-eval/const_panic_libcore_bin.stderr
index 2acab711290..9f76e15b645 100644
--- a/tests/ui/consts/const-eval/const_panic_libcore_bin.stderr
+++ b/tests/ui/consts/const-eval/const_panic_libcore_bin.stderr
@@ -1,20 +1,20 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: cheese
   --> $DIR/const_panic_libcore_bin.rs:8:15
    |
 LL | const Z: () = panic!("cheese");
-   |               ^^^^^^^^^^^^^^^^ evaluation panicked: cheese
+   |               ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: internal error: entered unreachable code
   --> $DIR/const_panic_libcore_bin.rs:11:15
    |
 LL | const Y: () = unreachable!();
-   |               ^^^^^^^^^^^^^^ evaluation panicked: internal error: entered unreachable code
+   |               ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: not implemented
   --> $DIR/const_panic_libcore_bin.rs:14:15
    |
 LL | const X: () = unimplemented!();
-   |               ^^^^^^^^^^^^^^^^ evaluation panicked: not implemented
+   |               ^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/tests/ui/consts/const-eval/const_panic_track_caller.rs b/tests/ui/consts/const-eval/const_panic_track_caller.rs
index 799a59d16ca..5f5d853eb97 100644
--- a/tests/ui/consts/const-eval/const_panic_track_caller.rs
+++ b/tests/ui/consts/const-eval/const_panic_track_caller.rs
@@ -17,5 +17,5 @@ const fn c() -> u32 {
 }
 
 const X: u32 = c();
-//~^ ERROR evaluation of constant value failed
-//~| NOTE hey
+//~^ NOTE evaluation of constant value failed
+//~| ERROR hey
diff --git a/tests/ui/consts/const-eval/const_panic_track_caller.stderr b/tests/ui/consts/const-eval/const_panic_track_caller.stderr
index 8736a8c9409..621e8880e3c 100644
--- a/tests/ui/consts/const-eval/const_panic_track_caller.stderr
+++ b/tests/ui/consts/const-eval/const_panic_track_caller.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: hey
   --> $DIR/const_panic_track_caller.rs:19:16
    |
 LL | const X: u32 = c();
-   |                ^^^ evaluation panicked: hey
+   |                ^^^ evaluation of constant value failed
    |
 note: inside `c`
   --> $DIR/const_panic_track_caller.rs:15:5
diff --git a/tests/ui/consts/const-eval/const_raw_ptr_ops2.rs b/tests/ui/consts/const-eval/const_raw_ptr_ops2.rs
index 0e88aa80c79..47998cf408c 100644
--- a/tests/ui/consts/const-eval/const_raw_ptr_ops2.rs
+++ b/tests/ui/consts/const-eval/const_raw_ptr_ops2.rs
@@ -4,7 +4,5 @@ fn main() {}
 const Z: i32 = unsafe { *(&1 as *const i32) };
 
 // bad, will thus error in miri
-const Z2: i32 = unsafe { *(42 as *const i32) }; //~ ERROR evaluation of constant value failed
-//~| NOTE dangling pointer
-const Z3: i32 = unsafe { *(44 as *const i32) }; //~ ERROR evaluation of constant value failed
-//~| NOTE dangling pointer
+const Z2: i32 = unsafe { *(42 as *const i32) }; //~ ERROR dangling pointer
+const Z3: i32 = unsafe { *(44 as *const i32) }; //~ ERROR dangling pointer
diff --git a/tests/ui/consts/const-eval/const_raw_ptr_ops2.stderr b/tests/ui/consts/const-eval/const_raw_ptr_ops2.stderr
index a8a5560ccb9..152f3704810 100644
--- a/tests/ui/consts/const-eval/const_raw_ptr_ops2.stderr
+++ b/tests/ui/consts/const-eval/const_raw_ptr_ops2.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got 0x2a[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/const_raw_ptr_ops2.rs:7:26
    |
 LL | const Z2: i32 = unsafe { *(42 as *const i32) };
-   |                          ^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got 0x2a[noalloc] which is a dangling pointer (it has no provenance)
+   |                          ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const_raw_ptr_ops2.rs:9:26
+error[E0080]: memory access failed: attempting to access 4 bytes, but got 0x2c[noalloc] which is a dangling pointer (it has no provenance)
+  --> $DIR/const_raw_ptr_ops2.rs:8:26
    |
 LL | const Z3: i32 = unsafe { *(44 as *const i32) };
-   |                          ^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got 0x2c[noalloc] which is a dangling pointer (it has no provenance)
+   |                          ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs b/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
index b47e2b3c1ed..d6e5a69671b 100644
--- a/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
+++ b/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.rs
@@ -4,7 +4,7 @@
 #![feature(const_heap)]
 use std::intrinsics;
 
-const FOO: i32 = foo(); //~ ERROR evaluation of constant value failed
+const FOO: i32 = foo(); //~ ERROR 3 is not a power of 2
 const fn foo() -> i32 {
     unsafe {
         let _ = intrinsics::const_allocate(4, 3) as *mut i32; //~ NOTE inside `foo`
diff --git a/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr b/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
index 9f7546df3a2..08990f949f8 100644
--- a/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
+++ b/tests/ui/consts/const-eval/heap/alloc_intrinsic_errors.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: invalid align passed to `const_allocate`: 3 is not a power of 2
   --> $DIR/alloc_intrinsic_errors.rs:7:18
    |
 LL | const FOO: i32 = foo();
-   |                  ^^^^^ invalid align passed to `const_allocate`: 3 is not a power of 2
+   |                  ^^^^^ evaluation of constant value failed
    |
 note: inside `foo`
   --> $DIR/alloc_intrinsic_errors.rs:10:17
diff --git a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.32bit.stderr b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.32bit.stderr
index 271c8611091..11ed0841a00 100644
--- a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.32bit.stderr
+++ b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.32bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>: encountered uninitialized memory, but expected an integer
   --> $DIR/alloc_intrinsic_uninit.rs:7:1
    |
 LL | const BAR: &i32 = unsafe { &*(intrinsics::const_allocate(4, 4) as *mut i32) };
-   | ^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
diff --git a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.64bit.stderr b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.64bit.stderr
index ec7cc7d4140..691bde87d2f 100644
--- a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.64bit.stderr
+++ b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>: encountered uninitialized memory, but expected an integer
   --> $DIR/alloc_intrinsic_uninit.rs:7:1
    |
 LL | const BAR: &i32 = unsafe { &*(intrinsics::const_allocate(4, 4) as *mut i32) };
-   | ^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
diff --git a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.rs b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.rs
index c283a5fae7d..ffc35ca1ddc 100644
--- a/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.rs
+++ b/tests/ui/consts/const-eval/heap/alloc_intrinsic_uninit.rs
@@ -5,5 +5,5 @@
 use std::intrinsics;
 
 const BAR: &i32 = unsafe { &*(intrinsics::const_allocate(4, 4) as *mut i32) };
-//~^ error: it is undefined behavior to use this value
+//~^ ERROR: uninitialized memory
 fn main() {}
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs
index 509c872f609..de9fc5d0921 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.rs
@@ -9,7 +9,7 @@
 use std::intrinsics;
 
 const _X: &'static u8 = unsafe {
-    //~^ error: it is undefined behavior to use this value
+    //~^ ERROR: dangling reference (use-after-free)
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 4, 4);
     &*ptr
@@ -20,7 +20,7 @@ const _Y: u8 = unsafe {
     let reference = &*ptr;
     intrinsics::const_deallocate(ptr, 4, 4);
     *reference
-    //~^ error: evaluation of constant value failed
+    //~^ ERROR: has been freed, so this pointer is dangling
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.stderr b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.stderr
index 0b0d2676dd3..d1d16fa4fda 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.stderr
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_dangling.stderr
@@ -1,19 +1,19 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (use-after-free)
   --> $DIR/dealloc_intrinsic_dangling.rs:11:1
    |
 LL | const _X: &'static u8 = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (use-after-free)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: ALLOC1 has been freed, so this pointer is dangling
   --> $DIR/dealloc_intrinsic_dangling.rs:22:5
    |
 LL |     *reference
-   |     ^^^^^^^^^^ memory access failed: ALLOC1 has been freed, so this pointer is dangling
+   |     ^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.rs b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.rs
index 4010b476990..5b7cd039b9b 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.rs
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.rs
@@ -7,7 +7,7 @@ const _X: () = unsafe {
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 4, 4);
     intrinsics::const_deallocate(ptr, 4, 4);
-    //~^ error: evaluation of constant value failed
+    //~^ ERROR: dangling
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.stderr b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.stderr
index d2d323e5a51..553b0fa09c9 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.stderr
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_duplicate.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: ALLOC0 has been freed, so this pointer is dangling
   --> $DIR/dealloc_intrinsic_duplicate.rs:9:5
    |
 LL |     intrinsics::const_deallocate(ptr, 4, 4);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: ALLOC0 has been freed, so this pointer is dangling
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.rs b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.rs
index 031d70fdc88..75c3601f216 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.rs
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.rs
@@ -6,24 +6,24 @@ use std::intrinsics;
 const _X: () = unsafe {
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 4, 2);
-    //~^ error: evaluation of constant value failed
+    //~^ error: incorrect layout on deallocation
 };
 const _Y: () = unsafe {
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 2, 4);
-    //~^ error: evaluation of constant value failed
+    //~^ error: incorrect layout on deallocation
 };
 
 const _Z: () = unsafe {
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 3, 4);
-    //~^ error: evaluation of constant value failed
+    //~^ error: incorrect layout on deallocation
 };
 
 const _W: () = unsafe {
     let ptr = intrinsics::const_allocate(4, 4);
     intrinsics::const_deallocate(ptr, 4, 3);
-    //~^ error: evaluation of constant value failed
+    //~^ error: invalid align
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.stderr b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.stderr
index 4b1f0f686ca..04fa75d25c7 100644
--- a/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.stderr
+++ b/tests/ui/consts/const-eval/heap/dealloc_intrinsic_incorrect_layout.stderr
@@ -1,26 +1,26 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: incorrect layout on deallocation: ALLOC0 has size 4 and alignment 4, but gave size 4 and alignment 2
   --> $DIR/dealloc_intrinsic_incorrect_layout.rs:8:5
    |
 LL |     intrinsics::const_deallocate(ptr, 4, 2);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incorrect layout on deallocation: ALLOC0 has size 4 and alignment 4, but gave size 4 and alignment 2
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: incorrect layout on deallocation: ALLOC1 has size 4 and alignment 4, but gave size 2 and alignment 4
   --> $DIR/dealloc_intrinsic_incorrect_layout.rs:13:5
    |
 LL |     intrinsics::const_deallocate(ptr, 2, 4);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incorrect layout on deallocation: ALLOC1 has size 4 and alignment 4, but gave size 2 and alignment 4
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: incorrect layout on deallocation: ALLOC2 has size 4 and alignment 4, but gave size 3 and alignment 4
   --> $DIR/dealloc_intrinsic_incorrect_layout.rs:19:5
    |
 LL |     intrinsics::const_deallocate(ptr, 3, 4);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ incorrect layout on deallocation: ALLOC2 has size 4 and alignment 4, but gave size 3 and alignment 4
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: invalid align passed to `const_deallocate`: 3 is not a power of 2
   --> $DIR/dealloc_intrinsic_incorrect_layout.rs:25:5
    |
 LL |     intrinsics::const_deallocate(ptr, 4, 3);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid align passed to `const_deallocate`: 3 is not a power of 2
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/consts/const-eval/index-out-of-bounds-never-type.rs b/tests/ui/consts/const-eval/index-out-of-bounds-never-type.rs
index 25ffc9cbdba..6777bee050a 100644
--- a/tests/ui/consts/const-eval/index-out-of-bounds-never-type.rs
+++ b/tests/ui/consts/const-eval/index-out-of-bounds-never-type.rs
@@ -8,7 +8,7 @@ struct PrintName<T>(T);
 
 impl<T> PrintName<T> {
     const VOID: ! = { let x = 0 * std::mem::size_of::<T>(); [][x] };
-    //~^ ERROR evaluation of `PrintName::<()>::VOID` failed
+    //~^ ERROR index out of bounds: the length is 0 but the index is 0
 
 }
 
diff --git a/tests/ui/consts/const-eval/index-out-of-bounds-never-type.stderr b/tests/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
index 7facb2d1a5c..fe34d211d52 100644
--- a/tests/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
+++ b/tests/ui/consts/const-eval/index-out-of-bounds-never-type.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `PrintName::<()>::VOID` failed
+error[E0080]: index out of bounds: the length is 0 but the index is 0
   --> $DIR/index-out-of-bounds-never-type.rs:10:61
    |
 LL |     const VOID: ! = { let x = 0 * std::mem::size_of::<T>(); [][x] };
-   |                                                             ^^^^^ index out of bounds: the length is 0 but the index is 0
+   |                                                             ^^^^^ evaluation of `PrintName::<()>::VOID` failed
 
 note: erroneous constant encountered
   --> $DIR/index-out-of-bounds-never-type.rs:16:13
diff --git a/tests/ui/consts/const-eval/index_out_of_bounds.stderr b/tests/ui/consts/const-eval/index_out_of_bounds.stderr
index d8df74fa010..9fe52f11d04 100644
--- a/tests/ui/consts/const-eval/index_out_of_bounds.stderr
+++ b/tests/ui/consts/const-eval/index_out_of_bounds.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: index out of bounds: the length is 0 but the index is 0
   --> $DIR/index_out_of_bounds.rs:1:19
    |
 LL | static FOO: i32 = [][0];
-   |                   ^^^^^ index out of bounds: the length is 0 but the index is 0
+   |                   ^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/issue-43197.rs b/tests/ui/consts/const-eval/issue-43197.rs
index 145463f0ae2..778a66facb8 100644
--- a/tests/ui/consts/const-eval/issue-43197.rs
+++ b/tests/ui/consts/const-eval/issue-43197.rs
@@ -4,8 +4,8 @@ const fn foo(x: u32) -> u32 {
 
 fn main() {
     const X: u32 = 0 - 1;
-    //~^ ERROR constant
+    //~^ ERROR overflow
     const Y: u32 = foo(0 - 1);
-    //~^ ERROR constant
+    //~^ ERROR overflow
     println!("{} {}", X, Y);
 }
diff --git a/tests/ui/consts/const-eval/issue-43197.stderr b/tests/ui/consts/const-eval/issue-43197.stderr
index c59f13e4888..f2211dfb388 100644
--- a/tests/ui/consts/const-eval/issue-43197.stderr
+++ b/tests/ui/consts/const-eval/issue-43197.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u32 - 1_u32`, which would overflow
   --> $DIR/issue-43197.rs:6:20
    |
 LL |     const X: u32 = 0 - 1;
-   |                    ^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
+   |                    ^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `0_u32 - 1_u32`, which would overflow
   --> $DIR/issue-43197.rs:8:24
    |
 LL |     const Y: u32 = foo(0 - 1);
-   |                        ^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
+   |                        ^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/issue-44578.rs b/tests/ui/consts/const-eval/issue-44578.rs
index 565e1d3825b..ebd54f4079c 100644
--- a/tests/ui/consts/const-eval/issue-44578.rs
+++ b/tests/ui/consts/const-eval/issue-44578.rs
@@ -11,7 +11,7 @@ enum Bar<A, B> {
 }
 
 impl<A: Foo, B: Foo> Foo for Bar<A, B> {
-    const AMT: usize = [A::AMT][(A::AMT > B::AMT) as usize]; //~ERROR evaluation of `<Bar<u16, u8> as Foo>::AMT` failed
+    const AMT: usize = [A::AMT][(A::AMT > B::AMT) as usize]; //~ERROR the length is 1 but the index is 1
 }
 
 impl Foo for u8 {
diff --git a/tests/ui/consts/const-eval/issue-44578.stderr b/tests/ui/consts/const-eval/issue-44578.stderr
index 5093cec81c7..f558b7a5016 100644
--- a/tests/ui/consts/const-eval/issue-44578.stderr
+++ b/tests/ui/consts/const-eval/issue-44578.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<Bar<u16, u8> as Foo>::AMT` failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/issue-44578.rs:14:24
    |
 LL |     const AMT: usize = [A::AMT][(A::AMT > B::AMT) as usize];
-   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `<Bar<u16, u8> as Foo>::AMT` failed
 
 note: erroneous constant encountered
   --> $DIR/issue-44578.rs:26:20
diff --git a/tests/ui/consts/const-eval/issue-49296.rs b/tests/ui/consts/const-eval/issue-49296.rs
index 917777a32ff..a427b642899 100644
--- a/tests/ui/consts/const-eval/issue-49296.rs
+++ b/tests/ui/consts/const-eval/issue-49296.rs
@@ -7,7 +7,7 @@ const fn wat(x: u64) -> &'static u64 {
 }
 
 const X: u64 = *wat(42);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR dangling
 
 fn main() {
     println!("{}", X);
diff --git a/tests/ui/consts/const-eval/issue-49296.stderr b/tests/ui/consts/const-eval/issue-49296.stderr
index 485a11d1f3c..9c7f8997eaa 100644
--- a/tests/ui/consts/const-eval/issue-49296.stderr
+++ b/tests/ui/consts/const-eval/issue-49296.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: ALLOC0 has been freed, so this pointer is dangling
   --> $DIR/issue-49296.rs:9:16
    |
 LL | const X: u64 = *wat(42);
-   |                ^^^^^^^^ memory access failed: ALLOC0 has been freed, so this pointer is dangling
+   |                ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/issue-50814-2.mir-opt.stderr b/tests/ui/consts/const-eval/issue-50814-2.mir-opt.stderr
index 1f4f217b175..a333fe3423b 100644
--- a/tests/ui/consts/const-eval/issue-50814-2.mir-opt.stderr
+++ b/tests/ui/consts/const-eval/issue-50814-2.mir-opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<A<()> as Foo<()>>::BAR` failed
+error[E0080]: index out of bounds: the length is 3 but the index is 42
   --> $DIR/issue-50814-2.rs:17:24
    |
 LL |     const BAR: usize = [5, 6, 7][T::BOO];
-   |                        ^^^^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 42
+   |                        ^^^^^^^^^^^^^^^^^ evaluation of `<A<()> as Foo<()>>::BAR` failed
 
 note: erroneous constant encountered
   --> $DIR/issue-50814-2.rs:21:6
diff --git a/tests/ui/consts/const-eval/issue-50814-2.normal.stderr b/tests/ui/consts/const-eval/issue-50814-2.normal.stderr
index f790862aef1..0ad4185be3a 100644
--- a/tests/ui/consts/const-eval/issue-50814-2.normal.stderr
+++ b/tests/ui/consts/const-eval/issue-50814-2.normal.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<A<()> as Foo<()>>::BAR` failed
+error[E0080]: index out of bounds: the length is 3 but the index is 42
   --> $DIR/issue-50814-2.rs:17:24
    |
 LL |     const BAR: usize = [5, 6, 7][T::BOO];
-   |                        ^^^^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 42
+   |                        ^^^^^^^^^^^^^^^^^ evaluation of `<A<()> as Foo<()>>::BAR` failed
 
 note: erroneous constant encountered
   --> $DIR/issue-50814-2.rs:21:6
diff --git a/tests/ui/consts/const-eval/issue-50814-2.rs b/tests/ui/consts/const-eval/issue-50814-2.rs
index 261dcd3aa4c..1b917a0916d 100644
--- a/tests/ui/consts/const-eval/issue-50814-2.rs
+++ b/tests/ui/consts/const-eval/issue-50814-2.rs
@@ -14,7 +14,7 @@ trait Foo<T> {
 struct A<T>(T);
 
 impl<T: C> Foo<T> for A<T> {
-    const BAR: usize = [5, 6, 7][T::BOO]; //~ ERROR evaluation of `<A<()> as Foo<()>>::BAR` failed
+    const BAR: usize = [5, 6, 7][T::BOO]; //~ ERROR index out of bounds: the length is 3 but the index is 42
 }
 
 fn foo<T: C>() -> &'static usize {
diff --git a/tests/ui/consts/const-eval/issue-50814.rs b/tests/ui/consts/const-eval/issue-50814.rs
index 5495fb43bba..011f065ad81 100644
--- a/tests/ui/consts/const-eval/issue-50814.rs
+++ b/tests/ui/consts/const-eval/issue-50814.rs
@@ -14,8 +14,8 @@ struct Sum<A, B>(A, B);
 
 impl<A: Unsigned, B: Unsigned> Unsigned for Sum<A, B> {
     const MAX: u8 = A::MAX + B::MAX;
-    //~^ ERROR evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
-    //~| ERROR evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
+    //~^ ERROR attempt to compute `u8::MAX + u8::MAX`, which would overflow
+    //~| ERROR attempt to compute `u8::MAX + u8::MAX`, which would overflow
 }
 
 fn foo<T>(_: T) -> &'static u8 {
diff --git a/tests/ui/consts/const-eval/issue-50814.stderr b/tests/ui/consts/const-eval/issue-50814.stderr
index 5b23c48e450..27cc6458ec1 100644
--- a/tests/ui/consts/const-eval/issue-50814.stderr
+++ b/tests/ui/consts/const-eval/issue-50814.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
+error[E0080]: attempt to compute `u8::MAX + u8::MAX`, which would overflow
   --> $DIR/issue-50814.rs:16:21
    |
 LL |     const MAX: u8 = A::MAX + B::MAX;
-   |                     ^^^^^^^^^^^^^^^ attempt to compute `u8::MAX + u8::MAX`, which would overflow
+   |                     ^^^^^^^^^^^^^^^ evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
 
 note: erroneous constant encountered
   --> $DIR/issue-50814.rs:22:6
@@ -10,11 +10,11 @@ note: erroneous constant encountered
 LL |     &Sum::<U8, U8>::MAX
    |      ^^^^^^^^^^^^^^^^^^
 
-error[E0080]: evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
+error[E0080]: attempt to compute `u8::MAX + u8::MAX`, which would overflow
   --> $DIR/issue-50814.rs:16:21
    |
 LL |     const MAX: u8 = A::MAX + B::MAX;
-   |                     ^^^^^^^^^^^^^^^ attempt to compute `u8::MAX + u8::MAX`, which would overflow
+   |                     ^^^^^^^^^^^^^^^ evaluation of `<Sum<U8, U8> as Unsigned>::MAX` failed
    |
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 
diff --git a/tests/ui/consts/const-eval/issue-85155.rs b/tests/ui/consts/const-eval/issue-85155.rs
index cb5b3a08375..c47101d04c2 100644
--- a/tests/ui/consts/const-eval/issue-85155.rs
+++ b/tests/ui/consts/const-eval/issue-85155.rs
@@ -20,5 +20,5 @@ fn main() {
     //~^ NOTE the above error was encountered while instantiating
 }
 
-//~? ERROR evaluation of `post_monomorphization_error::ValidateConstImm::<2, 0, 1>::VALID` failed
+//~? ERROR attempt to divide `1_usize` by zero
 //~? NOTE erroneous constant encountered
diff --git a/tests/ui/consts/const-eval/issue-85155.stderr b/tests/ui/consts/const-eval/issue-85155.stderr
index 99836a3fac6..8aa99764fe0 100644
--- a/tests/ui/consts/const-eval/issue-85155.stderr
+++ b/tests/ui/consts/const-eval/issue-85155.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `post_monomorphization_error::ValidateConstImm::<2, 0, 1>::VALID` failed
+error[E0080]: attempt to divide `1_usize` by zero
   --> $DIR/auxiliary/post_monomorphization_error.rs:7:17
    |
 LL |         let _ = 1 / ((IMM >= MIN && IMM <= MAX) as usize);
-   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `post_monomorphization_error::ValidateConstImm::<2, 0, 1>::VALID` failed
 
 note: erroneous constant encountered
   --> $DIR/auxiliary/post_monomorphization_error.rs:19:5
diff --git a/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.rs b/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.rs
index 3a932343ddd..12effde1a9b 100644
--- a/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.rs
+++ b/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.rs
@@ -36,8 +36,7 @@ const OFFSET: () = unsafe {
     // This needs to compute the field offset, but we don't know the type's alignment, so this
     // fails.
     let field = &x.a;
-    //~^ ERROR: evaluation of constant value failed
-    //~| NOTE does not have a known offset
+    //~^ ERROR: does not have a known offset
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.stderr b/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.stderr
index 54d45ee8ffb..185ef9c0750 100644
--- a/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.stderr
+++ b/tests/ui/consts/const-eval/issue-91827-extern-types-field-offset.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: `extern type` field does not have a known offset
   --> $DIR/issue-91827-extern-types-field-offset.rs:38:17
    |
 LL |     let field = &x.a;
-   |                 ^^^^ `extern type` field does not have a known offset
+   |                 ^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/mod-static-with-const-fn.rs b/tests/ui/consts/const-eval/mod-static-with-const-fn.rs
index 7de9d44305d..ce2ecaa2638 100644
--- a/tests/ui/consts/const-eval/mod-static-with-const-fn.rs
+++ b/tests/ui/consts/const-eval/mod-static-with-const-fn.rs
@@ -12,7 +12,7 @@ static FOO: Foo = Foo(UnsafeCell::new(42));
 
 static BAR: () = unsafe {
     *FOO.0.get() = 5;
-    //~^ ERROR could not evaluate static initializer
+    //~^ ERROR modifying a static's initial value
 };
 
 fn main() {
diff --git a/tests/ui/consts/const-eval/mod-static-with-const-fn.stderr b/tests/ui/consts/const-eval/mod-static-with-const-fn.stderr
index 47bfc235a1a..b882b902d96 100644
--- a/tests/ui/consts/const-eval/mod-static-with-const-fn.stderr
+++ b/tests/ui/consts/const-eval/mod-static-with-const-fn.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/mod-static-with-const-fn.rs:14:5
    |
 LL |     *FOO.0.get() = 5;
-   |     ^^^^^^^^^^^^^^^^ modifying a static's initial value from another static's initializer
+   |     ^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/nonnull_as_ref_ub.rs b/tests/ui/consts/const-eval/nonnull_as_ref_ub.rs
index 19ab5239986..908833e6514 100644
--- a/tests/ui/consts/const-eval/nonnull_as_ref_ub.rs
+++ b/tests/ui/consts/const-eval/nonnull_as_ref_ub.rs
@@ -1,6 +1,6 @@
 use std::ptr::NonNull;
 
 const NON_NULL: NonNull<u8> = unsafe { NonNull::dangling() };
-const _: () = assert!(42 == *unsafe { NON_NULL.as_ref() }); //~ERROR: evaluation of constant value failed
+const _: () = assert!(42 == *unsafe { NON_NULL.as_ref() }); //~ERROR: dangling pointer (it has no provenance)
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/nonnull_as_ref_ub.stderr b/tests/ui/consts/const-eval/nonnull_as_ref_ub.stderr
index 1996cd2721e..c4c8a76ddac 100644
--- a/tests/ui/consts/const-eval/nonnull_as_ref_ub.stderr
+++ b/tests/ui/consts/const-eval/nonnull_as_ref_ub.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/nonnull_as_ref_ub.rs:4:29
    |
 LL | const _: () = assert!(42 == *unsafe { NON_NULL.as_ref() });
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 1 byte, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/panic-assoc-never-type.rs b/tests/ui/consts/const-eval/panic-assoc-never-type.rs
index 79b5dafaf15..a0a5ba36bfe 100644
--- a/tests/ui/consts/const-eval/panic-assoc-never-type.rs
+++ b/tests/ui/consts/const-eval/panic-assoc-never-type.rs
@@ -8,7 +8,7 @@ struct PrintName;
 
 impl PrintName {
     const VOID: ! = panic!();
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR explicit panic
 }
 
 fn main() {
diff --git a/tests/ui/consts/const-eval/panic-assoc-never-type.stderr b/tests/ui/consts/const-eval/panic-assoc-never-type.stderr
index 03413f46b20..2d6bf96228b 100644
--- a/tests/ui/consts/const-eval/panic-assoc-never-type.stderr
+++ b/tests/ui/consts/const-eval/panic-assoc-never-type.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/panic-assoc-never-type.rs:10:21
    |
 LL |     const VOID: ! = panic!();
-   |                     ^^^^^^^^ evaluation panicked: explicit panic
+   |                     ^^^^^^^^ evaluation of constant value failed
 
 note: erroneous constant encountered
   --> $DIR/panic-assoc-never-type.rs:15:13
diff --git a/tests/ui/consts/const-eval/panic-never-type.rs b/tests/ui/consts/const-eval/panic-never-type.rs
index a9e9026d9bc..d9b46e70b35 100644
--- a/tests/ui/consts/const-eval/panic-never-type.rs
+++ b/tests/ui/consts/const-eval/panic-never-type.rs
@@ -2,7 +2,7 @@
 #![feature(never_type)]
 
 const VOID: ! = panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR explicit panic
 
 fn main() {
     let _ = VOID;
diff --git a/tests/ui/consts/const-eval/panic-never-type.stderr b/tests/ui/consts/const-eval/panic-never-type.stderr
index 1d9bba9aea2..60712effbab 100644
--- a/tests/ui/consts/const-eval/panic-never-type.stderr
+++ b/tests/ui/consts/const-eval/panic-never-type.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/panic-never-type.rs:4:17
    |
 LL | const VOID: ! = panic!();
-   |                 ^^^^^^^^ evaluation panicked: explicit panic
+   |                 ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/parse_ints.rs b/tests/ui/consts/const-eval/parse_ints.rs
index 309b7ee5d27..409fae9e51d 100644
--- a/tests/ui/consts/const-eval/parse_ints.rs
+++ b/tests/ui/consts/const-eval/parse_ints.rs
@@ -2,7 +2,7 @@ const _OK: () = match i32::from_str_radix("-1234", 10) {
     Ok(x) => assert!(x == -1234),
     Err(_) => panic!(),
 };
-const _TOO_LOW: () = { u64::from_str_radix("12345ABCD", 1); }; //~ ERROR evaluation of constant value failed
-const _TOO_HIGH: () = { u64::from_str_radix("12345ABCD", 37); }; //~ ERROR evaluation of constant value failed
+const _TOO_LOW: () = { u64::from_str_radix("12345ABCD", 1); }; //~ ERROR radix must lie in the range `[2, 36]`
+const _TOO_HIGH: () = { u64::from_str_radix("12345ABCD", 37); }; //~ ERROR radix must lie in the range `[2, 36]`
 
 fn main () {}
diff --git a/tests/ui/consts/const-eval/parse_ints.stderr b/tests/ui/consts/const-eval/parse_ints.stderr
index 7a855bb9e5c..8b5ab23e182 100644
--- a/tests/ui/consts/const-eval/parse_ints.stderr
+++ b/tests/ui/consts/const-eval/parse_ints.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
   --> $DIR/parse_ints.rs:5:24
    |
 LL | const _TOO_LOW: () = { u64::from_str_radix("12345ABCD", 1); };
-   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
+   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `core::num::<impl u64>::from_str_radix`
   --> $SRC_DIR/core/src/num/mod.rs:LL:COL
@@ -10,11 +10,11 @@ note: inside `core::num::<impl u64>::from_ascii_radix`
   --> $SRC_DIR/core/src/num/mod.rs:LL:COL
    = note: this error originates in the macro `from_str_int_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
   --> $DIR/parse_ints.rs:6:25
    |
 LL | const _TOO_HIGH: () = { u64::from_str_radix("12345ABCD", 37); };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `core::num::<impl u64>::from_str_radix`
   --> $SRC_DIR/core/src/num/mod.rs:LL:COL
diff --git a/tests/ui/consts/const-eval/partial_ptr_overwrite.rs b/tests/ui/consts/const-eval/partial_ptr_overwrite.rs
index 9438de5e3fe..bd97bec0f71 100644
--- a/tests/ui/consts/const-eval/partial_ptr_overwrite.rs
+++ b/tests/ui/consts/const-eval/partial_ptr_overwrite.rs
@@ -4,8 +4,7 @@ const PARTIAL_OVERWRITE: () = {
     let mut p = &42;
     unsafe {
         let ptr: *mut _ = &mut p;
-        *(ptr as *mut u8) = 123; //~ ERROR constant
-        //~| NOTE unable to overwrite parts of a pointer
+        *(ptr as *mut u8) = 123; //~ ERROR unable to overwrite parts of a pointer
     }
     let x = *p;
 };
diff --git a/tests/ui/consts/const-eval/partial_ptr_overwrite.stderr b/tests/ui/consts/const-eval/partial_ptr_overwrite.stderr
index 1443d353848..b5d1e4c113c 100644
--- a/tests/ui/consts/const-eval/partial_ptr_overwrite.stderr
+++ b/tests/ui/consts/const-eval/partial_ptr_overwrite.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to overwrite parts of a pointer in memory at ALLOC0
   --> $DIR/partial_ptr_overwrite.rs:7:9
    |
 LL |         *(ptr as *mut u8) = 123;
-   |         ^^^^^^^^^^^^^^^^^^^^^^^ unable to overwrite parts of a pointer in memory at ALLOC0
+   |         ^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/const-eval/raw-bytes.32bit.stderr b/tests/ui/consts/const-eval/raw-bytes.32bit.stderr
index 120a08acc33..36183e28921 100644
--- a/tests/ui/consts/const-eval/raw-bytes.32bit.stderr
+++ b/tests/ui/consts/const-eval/raw-bytes.32bit.stderr
@@ -1,340 +1,340 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x00000001, but expected a valid enum tag
   --> $DIR/raw-bytes.rs:23:1
    |
 LL | const BAD_ENUM: Enum = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x00000001, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                01 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x00000000, but expected a valid enum tag
   --> $DIR/raw-bytes.rs:31:1
    |
 LL | const BAD_ENUM2: Enum2 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x00000000, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
   --> $DIR/raw-bytes.rs:45:1
    |
 LL | const BAD_UNINHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(1u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                01                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
   --> $DIR/raw-bytes.rs:47:1
    |
 LL | const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                03                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
   --> $DIR/raw-bytes.rs:53:1
    |
 LL | const BAD_OPTION_CHAR: Option<(char, char)> = Some(('x', unsafe { mem::transmute(!0u32) }));
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                78 00 00 00 ff ff ff ff                         │ x.......
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:58:1
    |
 LL | const NULL_PTR: NonNull<u8> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:61:1
    |
 LL | const NULL_U8: NonZero<u8> = unsafe { mem::transmute(0u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                00                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:63:1
    |
 LL | const NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 42, but expected something in the range 10..=30
   --> $DIR/raw-bytes.rs:69:1
    |
 LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 42, but expected something in the range 10..=30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                2a 00 00 00                                     │ *...
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
   --> $DIR/raw-bytes.rs:75:1
    |
 LL | const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                14 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:78:1
    |
 LL | const NULL_FAT_PTR: NonNull<dyn Send> = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                00 00 00 00 ╾ALLOC_ID╼                         │ ....╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:86:1
+error[E0080]: constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+  --> $DIR/raw-bytes.rs:85:1
    |
 LL | const UNALIGNED: &u16 = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC_ID╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:90:1
+error[E0080]: constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+  --> $DIR/raw-bytes.rs:88:1
    |
 LL | const UNALIGNED_BOX: Box<u16> = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC_ID╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:94:1
+error[E0080]: constructing invalid value: encountered a null reference
+  --> $DIR/raw-bytes.rs:91:1
    |
 LL | const NULL: &u16 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:97:1
+error[E0080]: constructing invalid value: encountered a null box
+  --> $DIR/raw-bytes.rs:94:1
    |
 LL | const NULL_BOX: Box<u16> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null box
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:100:1
+error[E0080]: constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+  --> $DIR/raw-bytes.rs:97:1
    |
 LL | const USIZE_AS_REF: &'static u8 = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                39 05 00 00                                     │ 9...
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:103:1
+error[E0080]: constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+  --> $DIR/raw-bytes.rs:100:1
    |
 LL | const USIZE_AS_BOX: Box<u8> = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                39 05 00 00                                     │ 9...
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:106:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a function pointer
+  --> $DIR/raw-bytes.rs:103:1
    |
 LL | const NULL_FN_PTR: fn() = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                00 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:108:1
+error[E0080]: constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+  --> $DIR/raw-bytes.rs:105:1
    |
 LL | const DANGLING_FN_PTR: fn() = unsafe { mem::transmute(13usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                0d 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:110:1
+error[E0080]: constructing invalid value: encountered ALLOC3<imm>, but expected a function pointer
+  --> $DIR/raw-bytes.rs:107:1
    |
 LL | const DATA_FN_PTR: fn() = unsafe { mem::transmute(&13) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC3<imm>, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC_ID╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:116:1
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type Bar
+  --> $DIR/raw-bytes.rs:113:1
    |
 LL | const BAD_BAD_REF: &Bar = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type Bar
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                01 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:141:1
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:137:1
    |
 LL | const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ e7 03 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:143:1
+error[E0080]: constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:139:1
    |
 LL | const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ff ff ff ff                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:145:1
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:141:1
    |
 LL | const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ff ff ff ff                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:148:1
+error[E0080]: constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
+  --> $DIR/raw-bytes.rs:144:1
    |
 LL | const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 01 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:150:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
+  --> $DIR/raw-bytes.rs:146:1
    |
 LL | const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 01 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:152:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered a pointer, but expected a string
+  --> $DIR/raw-bytes.rs:148:1
    |
 LL | const MYSTR_NO_INIT_ISSUE83182: &MyStr = unsafe { mem::transmute::<&[_], _>(&[&()]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered a pointer, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 01 00 00 00                         │ ╾──╼....
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:156:1
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:152:1
    |
 LL | const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ e7 03 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:158:1
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:154:1
    |
 LL | const SLICE_TOO_LONG_OVERFLOW: &[u32] = unsafe { mem::transmute((&42u32, isize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ff ff ff 7f                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:161:1
+error[E0080]: constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:157:1
    |
 LL | const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ e7 03 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:164:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:160:1
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
@@ -342,16 +342,16 @@ LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:164:40
+  --> $DIR/raw-bytes.rs:160:40
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:170:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:164:1
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
@@ -359,16 +359,16 @@ LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:170:42
+  --> $DIR/raw-bytes.rs:164:42
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:174:1
+error[E0080]: constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:167:1
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
@@ -376,196 +376,196 @@ LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::tran
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:174:42
+  --> $DIR/raw-bytes.rs:167:42
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:179:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC17<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:171:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC17<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:183:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC19<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:174:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC19<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:187:1
+error[E0080]: constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:177:1
    |
 LL | const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 04 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:190:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC22<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:179:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC22<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:194:1
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:182:1
    |
 LL | const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:198:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:185:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 00 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:201:1
+error[E0080]: constructing invalid value: encountered ALLOC27<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:187:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC27<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:206:1
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
+  --> $DIR/raw-bytes.rs:191:1
    |
 LL | const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                01 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:207:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+  --> $DIR/raw-bytes.rs:192:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                01 00 00 00 01 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:208:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+  --> $DIR/raw-bytes.rs:193:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                01 00 00 00 2a 00 00 00                         │ ....*...
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:212:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:196:1
    |
 LL | pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 01 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:215:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+  --> $DIR/raw-bytes.rs:199:1
    |
 LL | pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, mem::size_of::<&u32>()) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 04 00 00 00                         │ ╾──╼....
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:218:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+  --> $DIR/raw-bytes.rs:202:1
    |
 LL | pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 04 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:222:1
+error[E0080]: constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:206:1
    |
 LL | pub static S7: &[u16] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID+0x2╼ 04 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:229:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:213:1
    |
 LL | pub static R4: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 01 00 00 00                         │ ╾──╼....
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:234:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+  --> $DIR/raw-bytes.rs:218:1
    |
 LL | pub static R5: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC_ID╼ 04 00 00 00                         │ ╾──╼....
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:239:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+  --> $DIR/raw-bytes.rs:223:1
    |
 LL | pub static R6: &[bool] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
diff --git a/tests/ui/consts/const-eval/raw-bytes.64bit.stderr b/tests/ui/consts/const-eval/raw-bytes.64bit.stderr
index d54ad7c8546..c53326534fd 100644
--- a/tests/ui/consts/const-eval/raw-bytes.64bit.stderr
+++ b/tests/ui/consts/const-eval/raw-bytes.64bit.stderr
@@ -1,340 +1,340 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x0000000000000001, but expected a valid enum tag
   --> $DIR/raw-bytes.rs:23:1
    |
 LL | const BAD_ENUM: Enum = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x0000000000000001, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                01 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x0000000000000000, but expected a valid enum tag
   --> $DIR/raw-bytes.rs:31:1
    |
 LL | const BAD_ENUM2: Enum2 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x0000000000000000, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
   --> $DIR/raw-bytes.rs:45:1
    |
 LL | const BAD_UNINHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(1u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                01                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
   --> $DIR/raw-bytes.rs:47:1
    |
 LL | const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                03                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
   --> $DIR/raw-bytes.rs:53:1
    |
 LL | const BAD_OPTION_CHAR: Option<(char, char)> = Some(('x', unsafe { mem::transmute(!0u32) }));
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                78 00 00 00 ff ff ff ff                         │ x.......
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:58:1
    |
 LL | const NULL_PTR: NonNull<u8> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:61:1
    |
 LL | const NULL_U8: NonZero<u8> = unsafe { mem::transmute(0u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                00                                              │ .
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:63:1
    |
 LL | const NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 42, but expected something in the range 10..=30
   --> $DIR/raw-bytes.rs:69:1
    |
 LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 42, but expected something in the range 10..=30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                2a 00 00 00                                     │ *...
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
   --> $DIR/raw-bytes.rs:75:1
    |
 LL | const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                14 00 00 00                                     │ ....
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/raw-bytes.rs:78:1
    |
 LL | const NULL_FAT_PTR: NonNull<dyn Send> = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                00 00 00 00 00 00 00 00 ╾ALLOC_ID╼ │ ........╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:86:1
+error[E0080]: constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+  --> $DIR/raw-bytes.rs:85:1
    |
 LL | const UNALIGNED: &u16 = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC_ID╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:90:1
+error[E0080]: constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+  --> $DIR/raw-bytes.rs:88:1
    |
 LL | const UNALIGNED_BOX: Box<u16> = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC_ID╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:94:1
+error[E0080]: constructing invalid value: encountered a null reference
+  --> $DIR/raw-bytes.rs:91:1
    |
 LL | const NULL: &u16 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:97:1
+error[E0080]: constructing invalid value: encountered a null box
+  --> $DIR/raw-bytes.rs:94:1
    |
 LL | const NULL_BOX: Box<u16> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null box
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:100:1
+error[E0080]: constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+  --> $DIR/raw-bytes.rs:97:1
    |
 LL | const USIZE_AS_REF: &'static u8 = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                39 05 00 00 00 00 00 00                         │ 9.......
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:103:1
+error[E0080]: constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+  --> $DIR/raw-bytes.rs:100:1
    |
 LL | const USIZE_AS_BOX: Box<u8> = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                39 05 00 00 00 00 00 00                         │ 9.......
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:106:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a function pointer
+  --> $DIR/raw-bytes.rs:103:1
    |
 LL | const NULL_FN_PTR: fn() = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                00 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:108:1
+error[E0080]: constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+  --> $DIR/raw-bytes.rs:105:1
    |
 LL | const DANGLING_FN_PTR: fn() = unsafe { mem::transmute(13usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                0d 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:110:1
+error[E0080]: constructing invalid value: encountered ALLOC3<imm>, but expected a function pointer
+  --> $DIR/raw-bytes.rs:107:1
    |
 LL | const DATA_FN_PTR: fn() = unsafe { mem::transmute(&13) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC3<imm>, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC_ID╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:116:1
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type Bar
+  --> $DIR/raw-bytes.rs:113:1
    |
 LL | const BAD_BAD_REF: &Bar = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type Bar
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                01 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:141:1
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:137:1
    |
 LL | const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ e7 03 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:143:1
+error[E0080]: constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:139:1
    |
 LL | const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ff ff ff ff ff ff ff ff │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:145:1
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:141:1
    |
 LL | const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ff ff ff ff ff ff ff ff │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:148:1
+error[E0080]: constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
+  --> $DIR/raw-bytes.rs:144:1
    |
 LL | const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:150:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
+  --> $DIR/raw-bytes.rs:146:1
    |
 LL | const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:152:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered a pointer, but expected a string
+  --> $DIR/raw-bytes.rs:148:1
    |
 LL | const MYSTR_NO_INIT_ISSUE83182: &MyStr = unsafe { mem::transmute::<&[_], _>(&[&()]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered a pointer, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:156:1
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:152:1
    |
 LL | const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ e7 03 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:158:1
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/raw-bytes.rs:154:1
    |
 LL | const SLICE_TOO_LONG_OVERFLOW: &[u32] = unsafe { mem::transmute((&42u32, isize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ff ff ff ff ff ff ff 7f │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:161:1
+error[E0080]: constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+  --> $DIR/raw-bytes.rs:157:1
    |
 LL | const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ e7 03 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:164:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:160:1
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
@@ -342,16 +342,16 @@ LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:164:40
+  --> $DIR/raw-bytes.rs:160:40
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:170:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:164:1
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
@@ -359,16 +359,16 @@ LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:170:42
+  --> $DIR/raw-bytes.rs:164:42
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:174:1
+error[E0080]: constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:167:1
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
@@ -376,196 +376,196 @@ LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::tran
            }
 
 note: erroneous constant encountered
-  --> $DIR/raw-bytes.rs:174:42
+  --> $DIR/raw-bytes.rs:167:42
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:179:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC17<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:171:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC17<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:183:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC19<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:174:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC19<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:187:1
+error[E0080]: constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:177:1
    |
 LL | const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 04 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:190:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC22<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:179:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC22<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:194:1
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+  --> $DIR/raw-bytes.rs:182:1
    |
 LL | const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:198:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:185:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 00 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:201:1
+error[E0080]: constructing invalid value: encountered ALLOC27<imm>, but expected a vtable pointer
+  --> $DIR/raw-bytes.rs:187:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC27<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ ╾ALLOC_ID╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:206:1
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
+  --> $DIR/raw-bytes.rs:191:1
    |
 LL | const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                01 00 00 00 00 00 00 00                         │ ........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:207:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+  --> $DIR/raw-bytes.rs:192:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 │ ................
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:208:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+  --> $DIR/raw-bytes.rs:193:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                01 00 00 00 00 00 00 00 2a 00 00 00 00 00 00 00 │ ........*.......
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:212:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:196:1
    |
 LL | pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:215:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+  --> $DIR/raw-bytes.rs:199:1
    |
 LL | pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, mem::size_of::<&u32>()) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 08 00 00 00 00 00 00 00 │ ╾──────╼........
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:218:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+  --> $DIR/raw-bytes.rs:202:1
    |
 LL | pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 04 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:222:1
+error[E0080]: constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:206:1
    |
 LL | pub static S7: &[u16] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[1]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID+0x2╼ 04 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:229:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+  --> $DIR/raw-bytes.rs:213:1
    |
 LL | pub static R4: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:234:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+  --> $DIR/raw-bytes.rs:218:1
    |
 LL | pub static R5: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a pointer, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC_ID╼ 08 00 00 00 00 00 00 00 │ ╾──────╼........
            }
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/raw-bytes.rs:239:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+  --> $DIR/raw-bytes.rs:223:1
    |
 LL | pub static R6: &[bool] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
diff --git a/tests/ui/consts/const-eval/raw-bytes.rs b/tests/ui/consts/const-eval/raw-bytes.rs
index 1a585d55a5f..58ae763e017 100644
--- a/tests/ui/consts/const-eval/raw-bytes.rs
+++ b/tests/ui/consts/const-eval/raw-bytes.rs
@@ -21,7 +21,7 @@ enum Enum {
     A = 0,
 }
 const BAD_ENUM: Enum = unsafe { mem::transmute(1usize) };
-//~^ ERROR is undefined behavior
+//~^ ERROR constructing invalid value
 
 #[repr(usize)]
 #[derive(Copy, Clone)]
@@ -29,7 +29,7 @@ enum Enum2 {
     A = 2,
 }
 const BAD_ENUM2: Enum2 = unsafe { mem::transmute(0usize) };
-//~^ ERROR is undefined behavior
+//~^ ERROR constructing invalid value
 
 #[derive(Copy, Clone)]
 enum Never {}
@@ -43,79 +43,75 @@ enum UninhDiscriminant {
     D(Never),
 }
 const BAD_UNINHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(1u8) };
-//~^ ERROR is undefined behavior
+//~^ ERROR constructing invalid value
 const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8) };
-//~^ ERROR is undefined behavior
+//~^ ERROR constructing invalid value
 
 // Invalid enum field content (mostly to test printing of paths for enum tuple
 // variants and tuples).
 // Need to create something which does not clash with enum layout optimizations.
 const BAD_OPTION_CHAR: Option<(char, char)> = Some(('x', unsafe { mem::transmute(!0u32) }));
-//~^ ERROR is undefined behavior
+//~^ ERROR constructing invalid value
 
 // # Bad pointers and references
 
 const NULL_PTR: NonNull<u8> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const NULL_U8: NonZero<u8> = unsafe { mem::transmute(0u8) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 #[rustc_layout_scalar_valid_range_start(10)]
 #[rustc_layout_scalar_valid_range_end(30)]
 struct RestrictedRange1(u32);
 const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 #[rustc_layout_scalar_valid_range_start(30)]
 #[rustc_layout_scalar_valid_range_end(10)]
 struct RestrictedRange2(u32);
 const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const NULL_FAT_PTR: NonNull<dyn Send> = unsafe {
-//~^ ERROR it is undefined behavior to use this value
+    //~^ ERROR constructing invalid value
     let x: &dyn Send = &42;
     let meta = std::ptr::metadata(x);
     mem::transmute((0_usize, meta))
 };
 
-
 const UNALIGNED: &u16 = unsafe { mem::transmute(&[0u8; 4]) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+//~^ ERROR constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
 
 const UNALIGNED_BOX: Box<u16> = unsafe { mem::transmute(&[0u8; 4]) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+//~^ ERROR constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
 
 const NULL: &u16 = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const NULL_BOX: Box<u16> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const USIZE_AS_REF: &'static u8 = unsafe { mem::transmute(1337usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const USIZE_AS_BOX: Box<u8> = unsafe { mem::transmute(1337usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const NULL_FN_PTR: fn() = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const DANGLING_FN_PTR: fn() = unsafe { mem::transmute(13usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const DATA_FN_PTR: fn() = unsafe { mem::transmute(&13) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 #[derive(Copy, Clone)]
 enum Bar {}
 
 const BAD_BAD_REF: &Bar = unsafe { mem::transmute(1usize) };
-//~^ ERROR it is undefined behavior to use this value
-
+//~^ ERROR constructing invalid value
 
 /// A newtype wrapper to prevent MIR generation from inserting reborrows that would affect the error
 /// message.
@@ -139,105 +135,93 @@ struct MySlice<T: ?Sized>(bool, T);
 type MySliceBool = MySlice<[bool]>;
 
 const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 
 const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const MYSTR_NO_INIT_ISSUE83182: &MyStr = unsafe { mem::transmute::<&[_], _>(&[&()]) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value
 
 // # slice
 const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 const SLICE_TOO_LONG_OVERFLOW: &[u32] = unsafe { mem::transmute((&42u32, isize::MAX)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 // bad slice box: length too big
 const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR constructing invalid value
 // bad data *inside* the slice
 const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
-
+//~^ ERROR encountered 0x03, but expected a boolean
 
 // bad: sized field is not okay
 const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
+//~^ ERROR encountered 0x03, but expected a boolean
 // bad: unsized part is not okay
 const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
+//~^ ERROR encountered 0x03, but expected a boolean
 
 // bad trait object
 const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable
+//~^ ERROR expected a vtable
 // bad trait object
 const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable
+//~^ ERROR expected a vtable
 // bad trait object
 const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable
+//~^ ERROR expected a vtable
 const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable
+//~^ ERROR expected a vtable
 // bad data *inside* the trait object
 const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a boolean
+//~^ ERROR expected a boolean
 
 const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE null pointer
+//~^ ERROR null pointer
 const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 
 // Uninhabited types
-const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR undefined behavior
-const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR undefined behavior
-const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) }; //~ ERROR undefined behavior
-
+const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR constructing invalid value
+const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR constructing invalid value
+const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) }; //~ ERROR constructing invalid value
 
 // Reading uninitialized  data
 pub static S4: &[u8] = unsafe { from_raw_parts((&D1) as *const _ as _, 1) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value
 // Reinterpret pointers as integers (UB in CTFE.)
 pub static S5: &[u8] = unsafe { from_raw_parts((&D3) as *const _ as _, mem::size_of::<&u32>()) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value
 // Layout mismatch
 pub static S6: &[bool] = unsafe { from_raw_parts((&D0) as *const _ as _, 4) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value
 
 // Reading padding is not ok
 pub static S7: &[u16] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: constructing invalid value
     let ptr = (&D2 as *const Struct as *const u16).add(1);
 
     from_raw_parts(ptr, 4)
 };
 
 pub static R4: &[u8] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: constructing invalid value
     let ptr = (&D1) as *const mem::MaybeUninit<&u32> as *const u8;
     from_ptr_range(ptr..ptr.add(1))
 };
 pub static R5: &[u8] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: constructing invalid value
     let ptr = &D3 as *const &u32;
     from_ptr_range(ptr.cast()..ptr.add(1).cast())
 };
 pub static R6: &[bool] = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
+    //~^ ERROR: constructing invalid value
     let ptr = &D0 as *const u32 as *const bool;
     from_ptr_range(ptr..ptr.add(4))
 };
diff --git a/tests/ui/consts/const-eval/raw-pointer-ub.rs b/tests/ui/consts/const-eval/raw-pointer-ub.rs
index 1e76104d515..c8d1e36e88b 100644
--- a/tests/ui/consts/const-eval/raw-pointer-ub.rs
+++ b/tests/ui/consts/const-eval/raw-pointer-ub.rs
@@ -1,15 +1,15 @@
 const MISALIGNED_LOAD: () = unsafe {
     let mem = [0u32; 8];
     let ptr = mem.as_ptr().byte_add(1);
-    let _val = *ptr; //~ERROR: evaluation of constant value failed
-    //~^NOTE: based on pointer with alignment 1, but alignment 4 is required
+    let _val = *ptr; //~NOTE: evaluation of constant value failed
+    //~^ERROR: based on pointer with alignment 1, but alignment 4 is required
 };
 
 const MISALIGNED_STORE: () = unsafe {
     let mut mem = [0u32; 8];
     let ptr = mem.as_mut_ptr().byte_add(1);
-    *ptr = 0; //~ERROR: evaluation of constant value failed
-    //~^NOTE: based on pointer with alignment 1, but alignment 4 is required
+    *ptr = 0; //~NOTE: evaluation of constant value failed
+    //~^ERROR: based on pointer with alignment 1, but alignment 4 is required
 };
 
 const MISALIGNED_COPY: () = unsafe {
@@ -17,9 +17,9 @@ const MISALIGNED_COPY: () = unsafe {
     let y = x.as_ptr().cast::<u32>();
     let mut z = 123;
     y.copy_to_nonoverlapping(&mut z, 1);
-    //~^ ERROR evaluation of constant value failed
+    //~^ NOTE evaluation of constant value failed
     //~| NOTE inside `std::ptr::copy_nonoverlapping::<u32>`
-    //~| NOTE accessing memory with alignment 1, but alignment 4 is required
+    //~| ERROR accessing memory with alignment 1, but alignment 4 is required
     // The actual error points into the implementation of `copy_to_nonoverlapping`.
 };
 
@@ -30,15 +30,15 @@ const MISALIGNED_FIELD: () = unsafe {
     let mem = [0f32; 8];
     let ptr = mem.as_ptr().cast::<Aligned>();
     // Accessing an f32 field but we still require the alignment of the pointer type.
-    let _val = (*ptr).0; //~ERROR: evaluation of constant value failed
-    //~^NOTE: based on pointer with alignment 4, but alignment 16 is required
+    let _val = (*ptr).0; //~NOTE: evaluation of constant value failed
+    //~^ERROR: based on pointer with alignment 4, but alignment 16 is required
 };
 
 const OOB: () = unsafe {
     let mem = [0u32; 1];
     let ptr = mem.as_ptr().cast::<u64>();
-    let _val = *ptr; //~ERROR: evaluation of constant value failed
-    //~^NOTE: is only 4 bytes from the end of the allocation
+    let _val = *ptr; //~NOTE: evaluation of constant value failed
+    //~^ERROR: is only 4 bytes from the end of the allocation
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/raw-pointer-ub.stderr b/tests/ui/consts/const-eval/raw-pointer-ub.stderr
index 01a8decc93b..162485a8adf 100644
--- a/tests/ui/consts/const-eval/raw-pointer-ub.stderr
+++ b/tests/ui/consts/const-eval/raw-pointer-ub.stderr
@@ -1,35 +1,35 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: accessing memory based on pointer with alignment 1, but alignment 4 is required
   --> $DIR/raw-pointer-ub.rs:4:16
    |
 LL |     let _val = *ptr;
-   |                ^^^^ accessing memory based on pointer with alignment 1, but alignment 4 is required
+   |                ^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: accessing memory based on pointer with alignment 1, but alignment 4 is required
   --> $DIR/raw-pointer-ub.rs:11:5
    |
 LL |     *ptr = 0;
-   |     ^^^^^^^^ accessing memory based on pointer with alignment 1, but alignment 4 is required
+   |     ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: accessing memory with alignment 1, but alignment 4 is required
   --> $DIR/raw-pointer-ub.rs:19:5
    |
 LL |     y.copy_to_nonoverlapping(&mut z, 1);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ accessing memory with alignment 1, but alignment 4 is required
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::ptr::copy_nonoverlapping::<u32>`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: accessing memory based on pointer with alignment 4, but alignment 16 is required
   --> $DIR/raw-pointer-ub.rs:33:16
    |
 LL |     let _val = (*ptr).0;
-   |                ^^^^^^^^ accessing memory based on pointer with alignment 4, but alignment 16 is required
+   |                ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 8 bytes, but got ALLOC0 which is only 4 bytes from the end of the allocation
   --> $DIR/raw-pointer-ub.rs:40:16
    |
 LL |     let _val = *ptr;
-   |                ^^^^ memory access failed: attempting to access 8 bytes, but got ALLOC0 which is only 4 bytes from the end of the allocation
+   |                ^^^^ evaluation of constant value failed
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/consts/const-eval/ref_to_int_match.32bit.stderr b/tests/ui/consts/const-eval/ref_to_int_match.32bit.stderr
index 18935626af1..cf460d65e8d 100644
--- a/tests/ui/consts/const-eval/ref_to_int_match.32bit.stderr
+++ b/tests/ui/consts/const-eval/ref_to_int_match.32bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ref_to_int_match.rs:24:27
    |
 LL | const BAR: Int = unsafe { Foo { r: &42 }.f };
-   |                           ^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                           ^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/const-eval/ref_to_int_match.64bit.stderr b/tests/ui/consts/const-eval/ref_to_int_match.64bit.stderr
index 18935626af1..cf460d65e8d 100644
--- a/tests/ui/consts/const-eval/ref_to_int_match.64bit.stderr
+++ b/tests/ui/consts/const-eval/ref_to_int_match.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ref_to_int_match.rs:24:27
    |
 LL | const BAR: Int = unsafe { Foo { r: &42 }.f };
-   |                           ^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                           ^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/const-eval/ref_to_int_match.rs b/tests/ui/consts/const-eval/ref_to_int_match.rs
index be9420e0215..062df685f74 100644
--- a/tests/ui/consts/const-eval/ref_to_int_match.rs
+++ b/tests/ui/consts/const-eval/ref_to_int_match.rs
@@ -3,9 +3,9 @@
 fn main() {
     let n: Int = 40;
     match n {
-        0..=10 => {},
-        10..=BAR => {}, // ok, `const` error already emitted
-        _ => {},
+        0..=10 => {}
+        10..=BAR => {} // ok, `const` error already emitted
+        _ => {}
     }
 }
 
@@ -15,11 +15,11 @@ union Foo {
     r: &'static u32,
 }
 
-#[cfg(target_pointer_width="64")]
+#[cfg(target_pointer_width = "64")]
 type Int = u64;
 
-#[cfg(target_pointer_width="32")]
+#[cfg(target_pointer_width = "32")]
 type Int = u32;
 
 const BAR: Int = unsafe { Foo { r: &42 }.f };
-//~^ ERROR constant
+//~^ ERROR unable to turn pointer into integer
diff --git a/tests/ui/consts/const-eval/shift_overflow.stderr b/tests/ui/consts/const-eval/shift_overflow.stderr
index 901bfa10ee8..1ba2feea976 100644
--- a/tests/ui/consts/const-eval/shift_overflow.stderr
+++ b/tests/ui/consts/const-eval/shift_overflow.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to shift left by `4294967296_u64`, which would overflow
   --> $DIR/shift_overflow.rs:3:9
    |
 LL |     X = 1 << ((u32::MAX as u64) + 1),
-   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to shift left by `4294967296_u64`, which would overflow
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/transmute-const.rs b/tests/ui/consts/const-eval/transmute-const.rs
index fb6cb77675f..e67406a6563 100644
--- a/tests/ui/consts/const-eval/transmute-const.rs
+++ b/tests/ui/consts/const-eval/transmute-const.rs
@@ -2,6 +2,6 @@
 use std::mem;
 
 static FOO: bool = unsafe { mem::transmute(3u8) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR 0x03, but expected a bool
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/transmute-const.stderr b/tests/ui/consts/const-eval/transmute-const.stderr
index 35a5cabaa67..ed3b3df70dd 100644
--- a/tests/ui/consts/const-eval/transmute-const.stderr
+++ b/tests/ui/consts/const-eval/transmute-const.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0x03, but expected a boolean
   --> $DIR/transmute-const.rs:4:1
    |
 LL | static FOO: bool = unsafe { mem::transmute(3u8) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
diff --git a/tests/ui/consts/const-eval/transmute-size-mismatch.rs b/tests/ui/consts/const-eval/transmute-size-mismatch.rs
index 8a7fd8257b0..ea5cdceda88 100644
--- a/tests/ui/consts/const-eval/transmute-size-mismatch.rs
+++ b/tests/ui/consts/const-eval/transmute-size-mismatch.rs
@@ -19,10 +19,10 @@ const unsafe fn mir_transmute<T, U>(x: T) -> U {
     }
 }
 
-const FROM_BIGGER: u16 = unsafe { mir_transmute(123_i32) }; //~ ERROR evaluation of constant value failed
-//~^ NOTE transmuting from 4-byte type to 2-byte type: `i32` -> `u16`
+const FROM_BIGGER: u16 = unsafe { mir_transmute(123_i32) }; //~ NOTE evaluation of constant value failed
+//~^ ERROR transmuting from 4-byte type to 2-byte type: `i32` -> `u16`
 
-const FROM_SMALLER: u32 = unsafe { mir_transmute(123_i16) }; //~ ERROR evaluation of constant value failed
-//~^ NOTE transmuting from 2-byte type to 4-byte type: `i16` -> `u32`
+const FROM_SMALLER: u32 = unsafe { mir_transmute(123_i16) }; //~ NOTE evaluation of constant value failed
+//~^ ERROR transmuting from 2-byte type to 4-byte type: `i16` -> `u32`
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/transmute-size-mismatch.stderr b/tests/ui/consts/const-eval/transmute-size-mismatch.stderr
index 888df16ec4e..f44edef0f34 100644
--- a/tests/ui/consts/const-eval/transmute-size-mismatch.stderr
+++ b/tests/ui/consts/const-eval/transmute-size-mismatch.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: transmuting from 4-byte type to 2-byte type: `i32` -> `u16`
   --> $DIR/transmute-size-mismatch.rs:22:35
    |
 LL | const FROM_BIGGER: u16 = unsafe { mir_transmute(123_i32) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^ transmuting from 4-byte type to 2-byte type: `i32` -> `u16`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `mir_transmute::<i32, u16>`
   --> $DIR/transmute-size-mismatch.rs:12:13
@@ -10,11 +10,11 @@ note: inside `mir_transmute::<i32, u16>`
 LL |             RET = CastTransmute(x);
    |             ^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: transmuting from 2-byte type to 4-byte type: `i16` -> `u32`
   --> $DIR/transmute-size-mismatch.rs:25:36
    |
 LL | const FROM_SMALLER: u32 = unsafe { mir_transmute(123_i16) };
-   |                                    ^^^^^^^^^^^^^^^^^^^^^^ transmuting from 2-byte type to 4-byte type: `i16` -> `u32`
+   |                                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `mir_transmute::<i16, u32>`
   --> $DIR/transmute-size-mismatch.rs:12:13
diff --git a/tests/ui/consts/const-eval/ub-enum-overwrite.rs b/tests/ui/consts/const-eval/ub-enum-overwrite.rs
index e37c25718f8..005f3c78c1d 100644
--- a/tests/ui/consts/const-eval/ub-enum-overwrite.rs
+++ b/tests/ui/consts/const-eval/ub-enum-overwrite.rs
@@ -9,8 +9,7 @@ const _: u8 = {
     // Make sure overwriting `e` uninitializes other bytes
     e = E::B;
     unsafe { *p }
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-enum-overwrite.stderr b/tests/ui/consts/const-eval/ub-enum-overwrite.stderr
index 315e865df93..4953ac5935d 100644
--- a/tests/ui/consts/const-eval/ub-enum-overwrite.stderr
+++ b/tests/ui/consts/const-eval/ub-enum-overwrite.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/ub-enum-overwrite.rs:11:14
    |
 LL |     unsafe { *p }
-   |              ^^ using uninitialized data, but this operation requires initialized memory
+   |              ^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/ub-enum.rs b/tests/ui/consts/const-eval/ub-enum.rs
index ac543430da9..52fc9945068 100644
--- a/tests/ui/consts/const-eval/ub-enum.rs
+++ b/tests/ui/consts/const-eval/ub-enum.rs
@@ -27,13 +27,13 @@ enum Enum {
 const GOOD_ENUM: Enum = unsafe { mem::transmute(0usize) };
 
 const BAD_ENUM: Enum = unsafe { mem::transmute(1usize) };
-//~^ ERROR is undefined behavior
+//~^ ERROR expected a valid enum tag
 
 const BAD_ENUM_PTR: Enum = unsafe { mem::transmute(&1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 const BAD_ENUM_WRAPPED: Wrap<Enum> = unsafe { mem::transmute(&1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 // # simple enum with discriminant 2
 
@@ -45,12 +45,12 @@ enum Enum2 {
 }
 
 const BAD_ENUM2: Enum2 = unsafe { mem::transmute(0usize) };
-//~^ ERROR is undefined behavior
+//~^ ERROR expected a valid enum tag
 const BAD_ENUM2_PTR: Enum2 = unsafe { mem::transmute(&0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 // something wrapping the enum so that we test layout first, not enum
 const BAD_ENUM2_WRAPPED: Wrap<Enum2> = unsafe { mem::transmute(&0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 // Undef enum discriminant.
 #[repr(C)]
@@ -58,13 +58,12 @@ union MaybeUninit<T: Copy> {
     uninit: (),
     init: T,
 }
-const BAD_ENUM2_UNDEF : Enum2 = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+const BAD_ENUM2_UNDEF: Enum2 = unsafe { MaybeUninit { uninit: () }.init };
+//~^ ERROR uninitialized
 
 // Pointer value in an enum with a niche that is not just 0.
 const BAD_ENUM2_OPTION_PTR: Option<Enum2> = unsafe { mem::transmute(&0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 // # valid discriminant for uninhabited variant
 
@@ -81,9 +80,9 @@ const GOOD_INHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(0u8)
 const GOOD_INHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(2u8) }; // variant C
 
 const BAD_UNINHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(1u8) };
-//~^ ERROR is undefined behavior
+//~^ ERROR uninhabited enum variant
 const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8) };
-//~^ ERROR is undefined behavior
+//~^ ERROR uninhabited enum variant
 
 // # other
 
@@ -91,20 +90,21 @@ const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8)
 // variants and tuples).
 // Need to create something which does not clash with enum layout optimizations.
 const BAD_OPTION_CHAR: Option<(char, char)> = Some(('x', unsafe { mem::transmute(!0u32) }));
-//~^ ERROR is undefined behavior
+//~^ ERROR expected a valid unicode scalar
 
 // All variants are uninhabited but also have data.
 // Use `0` as constant to make behavior endianness-independent.
 const BAD_UNINHABITED_WITH_DATA1: Result<(i32, Never), (i32, !)> = unsafe { mem::transmute(0u64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR uninhabited enum variant
 const BAD_UNINHABITED_WITH_DATA2: Result<(i32, !), (i32, Never)> = unsafe { mem::transmute(0u64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR uninhabited enum variant
 
 const TEST_ICE_89765: () = {
     // This is a regression test for https://github.com/rust-lang/rust/issues/89765.
-    unsafe { std::mem::discriminant(&*(&() as *const () as *const Never)); };
-    //~^ ERROR evaluation of constant value failed
+    unsafe {
+        std::mem::discriminant(&*(&() as *const () as *const Never));
+        //~^ ERROR uninhabited enum variant
+    };
 };
 
-fn main() {
-}
+fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-enum.stderr b/tests/ui/consts/const-eval/ub-enum.stderr
index faec412b004..9964d8e1a9c 100644
--- a/tests/ui/consts/const-eval/ub-enum.stderr
+++ b/tests/ui/consts/const-eval/ub-enum.stderr
@@ -1,126 +1,126 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x01, but expected a valid enum tag
   --> $DIR/ub-enum.rs:29:1
    |
 LL | const BAD_ENUM: Enum = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x01, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-enum.rs:32:1
    |
 LL | const BAD_ENUM_PTR: Enum = unsafe { mem::transmute(&1) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-enum.rs:35:1
    |
 LL | const BAD_ENUM_WRAPPED: Wrap<Enum> = unsafe { mem::transmute(&1) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-tag>: encountered 0x0, but expected a valid enum tag
   --> $DIR/ub-enum.rs:47:1
    |
 LL | const BAD_ENUM2: Enum2 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered 0x0, but expected a valid enum tag
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-enum.rs:49:1
    |
 LL | const BAD_ENUM2_PTR: Enum2 = unsafe { mem::transmute(&0) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-enum.rs:52:1
    |
 LL | const BAD_ENUM2_WRAPPED: Wrap<Enum2> = unsafe { mem::transmute(&0) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-enum.rs:61:42
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/ub-enum.rs:61:41
    |
-LL | const BAD_ENUM2_UNDEF : Enum2 = unsafe { MaybeUninit { uninit: () }.init };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL | const BAD_ENUM2_UNDEF: Enum2 = unsafe { MaybeUninit { uninit: () }.init };
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-enum.rs:66:1
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-enum.rs:65:1
    |
 LL | const BAD_ENUM2_OPTION_PTR: Option<Enum2> = unsafe { mem::transmute(&0) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-enum.rs:83:1
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+  --> $DIR/ub-enum.rs:82:1
    |
 LL | const BAD_UNINHABITED_VARIANT1: UninhDiscriminant = unsafe { mem::transmute(1u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-enum.rs:85:1
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+  --> $DIR/ub-enum.rs:84:1
    |
 LL | const BAD_UNINHABITED_VARIANT2: UninhDiscriminant = unsafe { mem::transmute(3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-enum.rs:93:1
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
+  --> $DIR/ub-enum.rs:92:1
    |
 LL | const BAD_OPTION_CHAR: Option<(char, char)> = Some(('x', unsafe { mem::transmute(!0u32) }));
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0.1: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-enum.rs:98:77
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+  --> $DIR/ub-enum.rs:97:77
    |
 LL | const BAD_UNINHABITED_WITH_DATA1: Result<(i32, Never), (i32, !)> = unsafe { mem::transmute(0u64) };
-   |                                                                             ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   |                                                                             ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-enum.rs:100:77
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+  --> $DIR/ub-enum.rs:99:77
    |
 LL | const BAD_UNINHABITED_WITH_DATA2: Result<(i32, !), (i32, Never)> = unsafe { mem::transmute(0u64) };
-   |                                                                             ^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   |                                                                             ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-enum.rs:105:14
+error[E0080]: read discriminant of an uninhabited enum variant
+  --> $DIR/ub-enum.rs:105:9
    |
-LL |     unsafe { std::mem::discriminant(&*(&() as *const () as *const Never)); };
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read discriminant of an uninhabited enum variant
+LL |         std::mem::discriminant(&*(&() as *const () as *const Never));
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `discriminant::<Never>`
   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
diff --git a/tests/ui/consts/const-eval/ub-incorrect-vtable.32bit.stderr b/tests/ui/consts/const-eval/ub-incorrect-vtable.32bit.stderr
index 5c47cbfdf3b..86d6f8c52bc 100644
--- a/tests/ui/consts/const-eval/ub-incorrect-vtable.32bit.stderr
+++ b/tests/ui/consts/const-eval/ub-incorrect-vtable.32bit.stderr
@@ -1,63 +1,63 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered ALLOC1<imm>, but expected a vtable pointer
   --> $DIR/ub-incorrect-vtable.rs:18:1
    |
 LL | const INVALID_VTABLE_ALIGNMENT: &dyn Trait =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC1<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC0<imm>╼ ╾ALLOC1<imm>╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:23:1
+error[E0080]: constructing invalid value: encountered ALLOC3<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:22:1
    |
 LL | const INVALID_VTABLE_SIZE: &dyn Trait =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC3<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC2<imm>╼ ╾ALLOC3<imm>╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:33:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC5<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:31:1
    |
 LL | const INVALID_VTABLE_ALIGNMENT_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC5<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC4<imm>╼ ╾ALLOC5<imm>╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:38:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC7<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:35:1
    |
 LL | const INVALID_VTABLE_SIZE_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC7<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC6<imm>╼ ╾ALLOC7<imm>╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:44:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC9<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:40:1
    |
 LL | const INVALID_VTABLE_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC9<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                ╾ALLOC8<imm>╼ ╾ALLOC9<imm>╼                         │ ╾──╼╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:91:1
+error[E0080]: constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/ub-incorrect-vtable.rs:86:1
    |
 LL | const G: Wide = unsafe { Transmute { t: FOO }.u };
-   | ^^^^^^^^^^^^^ constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
diff --git a/tests/ui/consts/const-eval/ub-incorrect-vtable.64bit.stderr b/tests/ui/consts/const-eval/ub-incorrect-vtable.64bit.stderr
index f400073aca2..a9518216dbd 100644
--- a/tests/ui/consts/const-eval/ub-incorrect-vtable.64bit.stderr
+++ b/tests/ui/consts/const-eval/ub-incorrect-vtable.64bit.stderr
@@ -1,63 +1,63 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered ALLOC1<imm>, but expected a vtable pointer
   --> $DIR/ub-incorrect-vtable.rs:18:1
    |
 LL | const INVALID_VTABLE_ALIGNMENT: &dyn Trait =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC1<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC0<imm>╼ ╾ALLOC1<imm>╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:23:1
+error[E0080]: constructing invalid value: encountered ALLOC3<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:22:1
    |
 LL | const INVALID_VTABLE_SIZE: &dyn Trait =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC3<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC2<imm>╼ ╾ALLOC3<imm>╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:33:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC5<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:31:1
    |
 LL | const INVALID_VTABLE_ALIGNMENT_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC5<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC4<imm>╼ ╾ALLOC5<imm>╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:38:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC7<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:35:1
    |
 LL | const INVALID_VTABLE_SIZE_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC7<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC6<imm>╼ ╾ALLOC7<imm>╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:44:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC9<imm>, but expected a vtable pointer
+  --> $DIR/ub-incorrect-vtable.rs:40:1
    |
 LL | const INVALID_VTABLE_UB: W<&dyn Trait> =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC9<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
                ╾ALLOC8<imm>╼ ╾ALLOC9<imm>╼ │ ╾──────╼╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-incorrect-vtable.rs:91:1
+error[E0080]: constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/ub-incorrect-vtable.rs:86:1
    |
 LL | const G: Wide = unsafe { Transmute { t: FOO }.u };
-   | ^^^^^^^^^^^^^ constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
diff --git a/tests/ui/consts/const-eval/ub-incorrect-vtable.rs b/tests/ui/consts/const-eval/ub-incorrect-vtable.rs
index 30c0ae3bb5a..4185b0261b2 100644
--- a/tests/ui/consts/const-eval/ub-incorrect-vtable.rs
+++ b/tests/ui/consts/const-eval/ub-incorrect-vtable.rs
@@ -17,13 +17,11 @@ trait Trait {}
 
 const INVALID_VTABLE_ALIGNMENT: &dyn Trait =
     unsafe { std::mem::transmute((&92u8, &[0usize, 1usize, 1000usize])) };
-//~^^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^^ ERROR vtable
 
 const INVALID_VTABLE_SIZE: &dyn Trait =
     unsafe { std::mem::transmute((&92u8, &[1usize, usize::MAX, 1usize])) };
-//~^^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^^ ERROR vtable
 
 #[repr(transparent)]
 struct W<T>(T);
@@ -32,19 +30,16 @@ fn drop_me(_: *mut usize) {}
 
 const INVALID_VTABLE_ALIGNMENT_UB: W<&dyn Trait> =
     unsafe { std::mem::transmute((&92u8, &(drop_me as fn(*mut usize), 1usize, 1000usize))) };
-//~^^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable pointer
+//~^^ ERROR expected a vtable pointer
 
 const INVALID_VTABLE_SIZE_UB: W<&dyn Trait> =
     unsafe { std::mem::transmute((&92u8, &(drop_me as fn(*mut usize), usize::MAX, 1usize))) };
-//~^^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable pointer
+//~^^ ERROR expected a vtable pointer
 
 // Even if the vtable has a fn ptr and a reasonable size+align, it still does not work.
 const INVALID_VTABLE_UB: W<&dyn Trait> =
     unsafe { std::mem::transmute((&92u8, &(drop_me as fn(*mut usize), 1usize, 1usize))) };
-//~^^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a vtable pointer
+//~^^ ERROR expected a vtable pointer
 
 // Trying to access the data in a vtable does not work, either.
 
@@ -89,8 +84,7 @@ union Transmute<T: Copy, U: Copy> {
 
 const FOO: &dyn Bar = &Foo { foo: 128, bar: false };
 const G: Wide = unsafe { Transmute { t: FOO }.u };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE encountered a dangling reference
+//~^ ERROR encountered a dangling reference
 // (it is dangling because vtables do not contain memory that can be dereferenced)
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-int-array.rs b/tests/ui/consts/const-eval/ub-int-array.rs
index 169ac7f1519..eebbccaa7c1 100644
--- a/tests/ui/consts/const-eval/ub-int-array.rs
+++ b/tests/ui/consts/const-eval/ub-int-array.rs
@@ -18,8 +18,7 @@ impl<T: Copy> MaybeUninit<T> {
 }
 
 const UNINIT_INT_0: [u32; 3] = unsafe {
-    //~^ ERROR it is undefined behavior to use this value
-    //~| NOTE invalid value at [0]
+    //~^ ERROR invalid value at [0]
     mem::transmute([
         MaybeUninit { uninit: () },
         // Constants chosen to achieve endianness-independent hex dump.
@@ -28,8 +27,7 @@ const UNINIT_INT_0: [u32; 3] = unsafe {
     ])
 };
 const UNINIT_INT_1: [u32; 3] = unsafe {
-    //~^ ERROR it is undefined behavior to use this value
-    //~| NOTE invalid value at [1]
+    //~^ ERROR invalid value at [1]
     mem::transmute([
         MaybeUninit::new(0u8),
         MaybeUninit::new(0u8),
@@ -46,8 +44,7 @@ const UNINIT_INT_1: [u32; 3] = unsafe {
     ])
 };
 const UNINIT_INT_2: [u32; 3] = unsafe {
-    //~^ ERROR it is undefined behavior to use this value
-    //~| NOTE invalid value at [2]
+    //~^ ERROR invalid value at [2]
     mem::transmute([
         MaybeUninit::new(0u8),
         MaybeUninit::new(0u8),
diff --git a/tests/ui/consts/const-eval/ub-int-array.stderr b/tests/ui/consts/const-eval/ub-int-array.stderr
index d6ef9bcfeba..10eb7c46c92 100644
--- a/tests/ui/consts/const-eval/ub-int-array.stderr
+++ b/tests/ui/consts/const-eval/ub-int-array.stderr
@@ -1,30 +1,30 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at [0]: encountered uninitialized memory, but expected an integer
   --> $DIR/ub-int-array.rs:20:1
    |
 LL | const UNINIT_INT_0: [u32; 3] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [0]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 12, align: 4) {
                __ __ __ __ 11 11 11 11 22 22 22 22             │ ░░░░....""""
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-int-array.rs:30:1
+error[E0080]: constructing invalid value at [1]: encountered uninitialized memory, but expected an integer
+  --> $DIR/ub-int-array.rs:29:1
    |
 LL | const UNINIT_INT_1: [u32; 3] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [1]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 12, align: 4) {
                00 00 00 00 01 __ 01 01 02 02 __ 02             │ .....░....░.
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-int-array.rs:48:1
+error[E0080]: constructing invalid value at [2]: encountered uninitialized memory, but expected an integer
+  --> $DIR/ub-int-array.rs:46:1
    |
 LL | const UNINIT_INT_2: [u32; 3] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [2]: encountered uninitialized memory, but expected an integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 12, align: 4) {
diff --git a/tests/ui/consts/const-eval/ub-invalid-values.rs b/tests/ui/consts/const-eval/ub-invalid-values.rs
index c0b68d7619a..e5d387fa7cc 100644
--- a/tests/ui/consts/const-eval/ub-invalid-values.rs
+++ b/tests/ui/consts/const-eval/ub-invalid-values.rs
@@ -5,8 +5,8 @@ const fn bool_cast(ptr: *const bool) { unsafe {
 
 const _: () = {
     let v = 3_u8;
-    bool_cast(&v as *const u8 as *const bool); //~ ERROR: evaluation of constant value failed
-    //~^ NOTE interpreting an invalid 8-bit value as a bool
+    bool_cast(&v as *const u8 as *const bool); //~ NOTE: evaluation of constant value failed
+    //~^ ERROR interpreting an invalid 8-bit value as a bool
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-invalid-values.stderr b/tests/ui/consts/const-eval/ub-invalid-values.stderr
index 76952c1f1a3..ceee06f05a4 100644
--- a/tests/ui/consts/const-eval/ub-invalid-values.stderr
+++ b/tests/ui/consts/const-eval/ub-invalid-values.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: interpreting an invalid 8-bit value as a bool: 0x03
   --> $DIR/ub-invalid-values.rs:8:5
    |
 LL |     bool_cast(&v as *const u8 as *const bool);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ interpreting an invalid 8-bit value as a bool: 0x03
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `bool_cast`
   --> $DIR/ub-invalid-values.rs:2:16
diff --git a/tests/ui/consts/const-eval/ub-nonnull.rs b/tests/ui/consts/const-eval/ub-nonnull.rs
index 8ae913db1e4..91646842624 100644
--- a/tests/ui/consts/const-eval/ub-nonnull.rs
+++ b/tests/ui/consts/const-eval/ub-nonnull.rs
@@ -14,19 +14,19 @@ const NON_NULL: NonNull<u8> = unsafe { mem::transmute(1usize) };
 const NON_NULL_PTR: NonNull<u8> = unsafe { mem::transmute(&1) };
 
 const NULL_PTR: NonNull<u8> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 const OUT_OF_BOUNDS_PTR: NonNull<u8> = { unsafe {
     let ptr: &[u8; 256] = mem::transmute(&0u8); // &0 gets promoted so it does not dangle
     // Use address-of-element for pointer arithmetic. This could wrap around to null!
-    let out_of_bounds_ptr = &ptr[255]; //~ ERROR evaluation of constant value failed
+    let out_of_bounds_ptr = &ptr[255]; //~ ERROR in-bounds pointer arithmetic failed
     mem::transmute(out_of_bounds_ptr)
 } };
 
 const NULL_U8: NonZero<u8> = unsafe { mem::transmute(0u8) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 const NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 #[repr(C)]
 union MaybeUninit<T: Copy> {
@@ -34,8 +34,7 @@ union MaybeUninit<T: Copy> {
     init: T,
 }
 const UNINIT: NonZero<u8> = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
 
 // Also test other uses of rustc_layout_scalar_valid_range_start
 
@@ -43,16 +42,16 @@ const UNINIT: NonZero<u8> = unsafe { MaybeUninit { uninit: () }.init };
 #[rustc_layout_scalar_valid_range_end(30)]
 struct RestrictedRange1(u32);
 const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 #[rustc_layout_scalar_valid_range_start(30)]
 #[rustc_layout_scalar_valid_range_end(10)]
 struct RestrictedRange2(u32);
 const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 const NULL_FAT_PTR: NonNull<dyn Send> = unsafe {
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
     let x: &dyn Send = &42;
     let meta = std::ptr::metadata(x);
     mem::transmute((0_usize, meta))
diff --git a/tests/ui/consts/const-eval/ub-nonnull.stderr b/tests/ui/consts/const-eval/ub-nonnull.stderr
index 75dd0443ca4..0919c9906f7 100644
--- a/tests/ui/consts/const-eval/ub-nonnull.stderr
+++ b/tests/ui/consts/const-eval/ub-nonnull.stderr
@@ -1,75 +1,75 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/ub-nonnull.rs:16:1
    |
 LL | const NULL_PTR: NonNull<u8> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by 255 bytes, but got ALLOC1 which is only 1 byte from the end of the allocation
   --> $DIR/ub-nonnull.rs:22:29
    |
 LL |     let out_of_bounds_ptr = &ptr[255];
-   |                             ^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by 255 bytes, but got ALLOC1 which is only 1 byte from the end of the allocation
+   |                             ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/ub-nonnull.rs:26:1
    |
 LL | const NULL_U8: NonZero<u8> = unsafe { mem::transmute(0u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/ub-nonnull.rs:28:1
    |
 LL | const NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/ub-nonnull.rs:36:38
    |
 LL | const UNINIT: NonZero<u8> = unsafe { MaybeUninit { uninit: () }.init };
-   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:45:1
+error[E0080]: constructing invalid value: encountered 42, but expected something in the range 10..=30
+  --> $DIR/ub-nonnull.rs:44:1
    |
 LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 42, but expected something in the range 10..=30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:51:1
+error[E0080]: constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
+  --> $DIR/ub-nonnull.rs:50:1
    |
 LL | const BAD_RANGE2: RestrictedRange2 = unsafe { RestrictedRange2(20) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 20, but expected something less or equal to 10, or greater or equal to 30
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-nonnull.rs:54:1
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
+  --> $DIR/ub-nonnull.rs:53:1
    |
 LL | const NULL_FAT_PTR: NonNull<dyn Send> = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/const-eval/ub-ref-ptr.rs b/tests/ui/consts/const-eval/ub-ref-ptr.rs
index 988e6c62e34..64b48939be6 100644
--- a/tests/ui/consts/const-eval/ub-ref-ptr.rs
+++ b/tests/ui/consts/const-eval/ub-ref-ptr.rs
@@ -15,57 +15,53 @@ union MaybeUninit<T: Copy> {
 }
 
 const UNALIGNED: &u16 = unsafe { mem::transmute(&[0u8; 4]) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+//~^ ERROR constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
 
 const UNALIGNED_BOX: Box<u16> = unsafe { mem::transmute(&[0u8; 4]) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+//~^ ERROR constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
 
 const NULL: &u16 = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 const NULL_BOX: Box<u16> = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 
 // It is very important that we reject this: We do promote `&(4 * REF_AS_USIZE)`,
 // but that would fail to compile; so we ended up breaking user code that would
 // have worked fine had we not promoted.
 const REF_AS_USIZE: usize = unsafe { mem::transmute(&0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 const REF_AS_USIZE_SLICE: &[usize] = &[unsafe { mem::transmute(&0) }];
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 const REF_AS_USIZE_BOX_SLICE: Box<[usize]> = unsafe { mem::transmute::<&[usize], _>(&[mem::transmute(&0)]) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 const USIZE_AS_REF: &'static u8 = unsafe { mem::transmute(1337usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 const USIZE_AS_BOX: Box<u8> = unsafe { mem::transmute(1337usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 const UNINIT_PTR: *const i32 = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
 
 const NULL_FN_PTR: fn() = unsafe { mem::transmute(0usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 const UNINIT_FN_PTR: fn() = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
 const DANGLING_FN_PTR: fn() = unsafe { mem::transmute(13usize) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 const DATA_FN_PTR: fn() = unsafe { mem::transmute(&13) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR invalid value
 
 
 const UNALIGNED_READ: () = unsafe {
     let x = &[0u8; 4];
     let ptr = x.as_ptr().cast::<u32>();
-    ptr.read(); //~ ERROR evaluation of constant value failed
+    ptr.read(); //~ ERROR accessing memory
 };
 
 
diff --git a/tests/ui/consts/const-eval/ub-ref-ptr.stderr b/tests/ui/consts/const-eval/ub-ref-ptr.stderr
index cfec1a42f28..31a216916d5 100644
--- a/tests/ui/consts/const-eval/ub-ref-ptr.stderr
+++ b/tests/ui/consts/const-eval/ub-ref-ptr.stderr
@@ -1,158 +1,158 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
   --> $DIR/ub-ref-ptr.rs:17:1
    |
 LL | const UNALIGNED: &u16 = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned reference (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:21:1
+error[E0080]: constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+  --> $DIR/ub-ref-ptr.rs:20:1
    |
 LL | const UNALIGNED_BOX: Box<u16> = unsafe { mem::transmute(&[0u8; 4]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned box (required 2 byte alignment but found 1)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:25:1
+error[E0080]: constructing invalid value: encountered a null reference
+  --> $DIR/ub-ref-ptr.rs:23:1
    |
 LL | const NULL: &u16 = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null reference
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:28:1
+error[E0080]: constructing invalid value: encountered a null box
+  --> $DIR/ub-ref-ptr.rs:26:1
    |
 LL | const NULL_BOX: Box<u16> = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a null box
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:35:1
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-ref-ptr.rs:33:1
    |
 LL | const REF_AS_USIZE: usize = unsafe { mem::transmute(&0) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:38:39
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-ref-ptr.rs:36:39
    |
 LL | const REF_AS_USIZE_SLICE: &[usize] = &[unsafe { mem::transmute(&0) }];
-   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
 note: erroneous constant encountered
-  --> $DIR/ub-ref-ptr.rs:38:38
+  --> $DIR/ub-ref-ptr.rs:36:38
    |
 LL | const REF_AS_USIZE_SLICE: &[usize] = &[unsafe { mem::transmute(&0) }];
    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:41:86
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-ref-ptr.rs:39:86
    |
 LL | const REF_AS_USIZE_BOX_SLICE: Box<[usize]> = unsafe { mem::transmute::<&[usize], _>(&[mem::transmute(&0)]) };
-   |                                                                                      ^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |                                                                                      ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
 note: erroneous constant encountered
-  --> $DIR/ub-ref-ptr.rs:41:85
+  --> $DIR/ub-ref-ptr.rs:39:85
    |
 LL | const REF_AS_USIZE_BOX_SLICE: Box<[usize]> = unsafe { mem::transmute::<&[usize], _>(&[mem::transmute(&0)]) };
    |                                                                                     ^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:44:1
+error[E0080]: constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+  --> $DIR/ub-ref-ptr.rs:42:1
    |
 LL | const USIZE_AS_REF: &'static u8 = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:47:1
+error[E0080]: constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+  --> $DIR/ub-ref-ptr.rs:45:1
    |
 LL | const USIZE_AS_BOX: Box<u8> = unsafe { mem::transmute(1337usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (0x539[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:50:41
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/ub-ref-ptr.rs:48:41
    |
 LL | const UNINIT_PTR: *const i32 = unsafe { MaybeUninit { uninit: () }.init };
-   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:54:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a function pointer
+  --> $DIR/ub-ref-ptr.rs:51:1
    |
 LL | const NULL_FN_PTR: fn() = unsafe { mem::transmute(0usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:56:38
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/ub-ref-ptr.rs:53:38
    |
 LL | const UNINIT_FN_PTR: fn() = unsafe { MaybeUninit { uninit: () }.init };
-   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:59:1
+error[E0080]: constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+  --> $DIR/ub-ref-ptr.rs:55:1
    |
 LL | const DANGLING_FN_PTR: fn() = unsafe { mem::transmute(13usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0xd[noalloc], but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-ref-ptr.rs:61:1
+error[E0080]: constructing invalid value: encountered ALLOC2<imm>, but expected a function pointer
+  --> $DIR/ub-ref-ptr.rs:57:1
    |
 LL | const DATA_FN_PTR: fn() = unsafe { mem::transmute(&13) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC2<imm>, but expected a function pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-ref-ptr.rs:68:5
+error[E0080]: accessing memory based on pointer with alignment 1, but alignment 4 is required
+  --> $DIR/ub-ref-ptr.rs:64:5
    |
 LL |     ptr.read();
-   |     ^^^^^^^^^^ accessing memory based on pointer with alignment 1, but alignment 4 is required
+   |     ^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 15 previous errors
 
diff --git a/tests/ui/consts/const-eval/ub-uninhabit.rs b/tests/ui/consts/const-eval/ub-uninhabit.rs
index 3a5e291d5df..188ad768a0e 100644
--- a/tests/ui/consts/const-eval/ub-uninhabit.rs
+++ b/tests/ui/consts/const-eval/ub-uninhabit.rs
@@ -6,8 +6,7 @@
 #![feature(core_intrinsics)]
 #![feature(never_type)]
 
-use std::intrinsics;
-use std::mem;
+use std::{intrinsics, mem};
 
 #[derive(Copy, Clone)]
 enum Bar {}
@@ -19,25 +18,19 @@ union MaybeUninit<T: Copy> {
 }
 
 const BAD_BAD_BAD: Bar = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE constructing invalid value
+//~^ ERROR constructing invalid value
 
 const BAD_BAD_REF: &Bar = unsafe { mem::transmute(1usize) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constructing invalid value
+//~^ ERROR constructing invalid value
 
 const BAD_BAD_ARRAY: [Bar; 1] = unsafe { MaybeUninit { uninit: () }.init };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE constructing invalid value
-
+//~^ ERROR constructing invalid value
 
 const READ_NEVER: () = unsafe {
     let mem = [0u32; 8];
     let ptr = mem.as_ptr().cast::<!>();
     let _val = intrinsics::read_via_copy(ptr);
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE constructing invalid value
+    //~^ ERROR constructing invalid value
 };
 
-
 fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-uninhabit.stderr b/tests/ui/consts/const-eval/ub-uninhabit.stderr
index 9d3f93279e5..38779ea164b 100644
--- a/tests/ui/consts/const-eval/ub-uninhabit.stderr
+++ b/tests/ui/consts/const-eval/ub-uninhabit.stderr
@@ -1,31 +1,31 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-uninhabit.rs:21:35
+error[E0080]: constructing invalid value: encountered a value of uninhabited type `Bar`
+  --> $DIR/ub-uninhabit.rs:20:35
    |
 LL | const BAD_BAD_BAD: Bar = unsafe { MaybeUninit { uninit: () }.init };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of uninhabited type `Bar`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-uninhabit.rs:25:1
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type Bar
+  --> $DIR/ub-uninhabit.rs:23:1
    |
 LL | const BAD_BAD_REF: &Bar = unsafe { mem::transmute(1usize) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type Bar
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-uninhabit.rs:29:42
+error[E0080]: constructing invalid value at [0]: encountered a value of uninhabited type `Bar`
+  --> $DIR/ub-uninhabit.rs:26:42
    |
 LL | const BAD_BAD_ARRAY: [Bar; 1] = unsafe { MaybeUninit { uninit: () }.init };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [0]: encountered a value of uninhabited type `Bar`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-uninhabit.rs:37:16
+error[E0080]: constructing invalid value: encountered a value of the never type `!`
+  --> $DIR/ub-uninhabit.rs:32:16
    |
 LL |     let _val = intrinsics::read_via_copy(ptr);
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of the never type `!`
+   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/consts/const-eval/ub-upvars.32bit.stderr b/tests/ui/consts/const-eval/ub-upvars.32bit.stderr
index 5342fea66bd..ecd1c768c28 100644
--- a/tests/ui/consts/const-eval/ub-upvars.32bit.stderr
+++ b/tests/ui/consts/const-eval/ub-upvars.32bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>.<captured-var(bad_ref)>: encountered a null reference
   --> $DIR/ub-upvars.rs:6:1
    |
 LL | const BAD_UPVAR: &dyn FnOnce() = &{
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>.<captured-var(bad_ref)>: encountered a null reference
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
diff --git a/tests/ui/consts/const-eval/ub-upvars.64bit.stderr b/tests/ui/consts/const-eval/ub-upvars.64bit.stderr
index a2496dfc287..108dfe6b27b 100644
--- a/tests/ui/consts/const-eval/ub-upvars.64bit.stderr
+++ b/tests/ui/consts/const-eval/ub-upvars.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>.<captured-var(bad_ref)>: encountered a null reference
   --> $DIR/ub-upvars.rs:6:1
    |
 LL | const BAD_UPVAR: &dyn FnOnce() = &{
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>.<captured-var(bad_ref)>: encountered a null reference
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
diff --git a/tests/ui/consts/const-eval/ub-upvars.rs b/tests/ui/consts/const-eval/ub-upvars.rs
index 817511180be..19722282984 100644
--- a/tests/ui/consts/const-eval/ub-upvars.rs
+++ b/tests/ui/consts/const-eval/ub-upvars.rs
@@ -3,7 +3,7 @@
 
 use std::mem;
 
-const BAD_UPVAR: &dyn FnOnce() = &{ //~ ERROR it is undefined behavior to use this value
+const BAD_UPVAR: &dyn FnOnce() = &{ //~ ERROR null reference
     let bad_ref: &'static u16 = unsafe { mem::transmute(0usize) };
     let another_var = 13;
     move || { let _ = bad_ref; let _ = another_var; }
diff --git a/tests/ui/consts/const-eval/ub-wide-ptr.rs b/tests/ui/consts/const-eval/ub-wide-ptr.rs
index 4b9bbb8066d..86235897e7e 100644
--- a/tests/ui/consts/const-eval/ub-wide-ptr.rs
+++ b/tests/ui/consts/const-eval/ub-wide-ptr.rs
@@ -37,74 +37,69 @@ type MySliceBool = MySlice<[bool]>;
 const STR_VALID: &str = unsafe { mem::transmute((&42u8, 1usize)) };
 // bad str
 const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR encountered a dangling reference (going beyond the bounds of its allocation)
 const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR slice is bigger than largest supported object
 // bad str
 const STR_LENGTH_PTR: &str = unsafe { mem::transmute((&42u8, &3)) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 // bad str in user-defined unsized type
 const MY_STR_LENGTH_PTR: &MyStr = unsafe { mem::transmute((&42u8, &3)) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR slice is bigger than largest supported object
 
 // uninitialized byte
 const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR uninitialized memory, but expected a string
 // uninitialized byte in user-defined str-like
 const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR uninitialized memory, but expected a string
 
 // # slice
 // OK
 const SLICE_VALID: &[u8] = unsafe { mem::transmute((&42u8, 1usize)) };
 // bad slice: length uninit
 const SLICE_LENGTH_UNINIT: &[u8] = unsafe {
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
     let uninit_len = MaybeUninit::<usize> { uninit: () };
     mem::transmute((42, uninit_len))
 };
 // bad slice: length too big
 const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR dangling reference (going beyond the bounds of its allocation)
 // bad slice: length computation overflows
 const SLICE_TOO_LONG_OVERFLOW: &[u32] = unsafe { mem::transmute((&42u32, isize::MAX)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR slice is bigger than largest supported object
 // bad slice: length not an int
 const SLICE_LENGTH_PTR: &[u8] = unsafe { mem::transmute((&42u8, &3)) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 // bad slice box: length too big
 const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR dangling box (going beyond the bounds of its allocation)
 // bad slice box: length not an int
 const SLICE_LENGTH_PTR_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, &3)) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR unable to turn pointer into integer
 
 // bad data *inside* the slice
 const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
+//~^ ERROR 0x03, but expected a boolean
 
 // good MySliceBool
 const MYSLICE_GOOD: &MySliceBool = &MySlice(true, [false]);
 // bad: sized field is not okay
 const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
+//~^ ERROR 0x03, but expected a boolean
 // bad: unsized part is not okay
 const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE constant
+//~^ ERROR 0x03, but expected a boolean
 
 // # raw slice
 const RAW_SLICE_VALID: *const [u8] = unsafe { mem::transmute((&42u8, 1usize)) }; // ok
 const RAW_SLICE_TOO_LONG: *const [u8] = unsafe { mem::transmute((&42u8, 999usize)) }; // ok because raw
 const RAW_SLICE_MUCH_TOO_LONG: *const [u8] = unsafe { mem::transmute((&42u8, usize::MAX)) }; // ok because raw
 const RAW_SLICE_LENGTH_UNINIT: *const [u8] = unsafe {
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
     let uninit_len = MaybeUninit::<usize> { uninit: () };
     mem::transmute((42, uninit_len))
 };
@@ -112,41 +107,31 @@ const RAW_SLICE_LENGTH_UNINIT: *const [u8] = unsafe {
 // # trait object
 // bad trait object
 const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 // bad trait object
 const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 // bad trait object
 const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 const TRAIT_OBJ_UNALIGNED_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, &[0u8; 128])) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 const TRAIT_OBJ_BAD_DROP_FN_NULL: &dyn Trait = unsafe { mem::transmute((&92u8, &[0usize; 8])) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 const TRAIT_OBJ_BAD_DROP_FN_INT: &dyn Trait = unsafe { mem::transmute((&92u8, &[1usize; 8])) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 
 // bad data *inside* the trait object
 const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE expected a boolean
+//~^ ERROR expected a boolean
 
 // # raw trait object
 const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE null pointer
+//~^ ERROR null pointer
 const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE vtable
+//~^ ERROR vtable
 const RAW_TRAIT_OBJ_CONTENT_INVALID: *const dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) } as *const dyn Trait; // ok because raw
 // Officially blessed way to get the vtable
 const DYN_METADATA: ptr::DynMetadata<dyn Send> = ptr::metadata::<dyn Send>(ptr::null::<i32>());
@@ -154,13 +139,11 @@ const DYN_METADATA: ptr::DynMetadata<dyn Send> = ptr::metadata::<dyn Send>(ptr::
 
 static mut RAW_TRAIT_OBJ_VTABLE_NULL_THROUGH_REF: *const dyn Trait = unsafe {
     mem::transmute::<_, &dyn Trait>((&92u8, 0usize))
-    //~^^ ERROR it is undefined behavior to use this value
-    //~| NOTE null pointer
+    //~^^ ERROR null pointer
 };
 static mut RAW_TRAIT_OBJ_VTABLE_INVALID_THROUGH_REF: *const dyn Trait = unsafe {
     mem::transmute::<_, &dyn Trait>((&92u8, &3u64))
-    //~^^ ERROR it is undefined behavior to use this value
-    //~| NOTE vtable
+    //~^^ ERROR vtable
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/ub-wide-ptr.stderr b/tests/ui/consts/const-eval/ub-wide-ptr.stderr
index 92f0029a5b3..7b7f013446f 100644
--- a/tests/ui/consts/const-eval/ub-wide-ptr.stderr
+++ b/tests/ui/consts/const-eval/ub-wide-ptr.stderr
@@ -1,138 +1,138 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
   --> $DIR/ub-wide-ptr.rs:39:1
    |
 LL | const STR_TOO_LONG: &str = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
   --> $DIR/ub-wide-ptr.rs:41:1
    |
 LL | const NESTED_STR_MUCH_TOO_LONG: (&str,) = (unsafe { mem::transmute((&42, usize::MAX)) },);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-wide-ptr.rs:44:1
    |
 LL | const STR_LENGTH_PTR: &str = unsafe { mem::transmute((&42u8, &3)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/ub-wide-ptr.rs:47:1
    |
 LL | const MY_STR_LENGTH_PTR: &MyStr = unsafe { mem::transmute((&42u8, &3)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
   --> $DIR/ub-wide-ptr.rs:49:1
    |
 LL | const MY_STR_MUCH_TOO_LONG: &MyStr = unsafe { mem::transmute((&42u8, usize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
   --> $DIR/ub-wide-ptr.rs:53:1
    |
 LL | const STR_NO_INIT: &str = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
   --> $DIR/ub-wide-ptr.rs:56:1
    |
 LL | const MYSTR_NO_INIT: &MyStr = unsafe { mem::transmute::<&[_], _>(&[MaybeUninit::<u8> { uninit: () }]) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered uninitialized memory, but expected a string
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/ub-wide-ptr.rs:63:1
    |
 LL | const SLICE_LENGTH_UNINIT: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:70:1
+error[E0080]: constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+  --> $DIR/ub-wide-ptr.rs:69:1
    |
 LL | const SLICE_TOO_LONG: &[u8] = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:73:1
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/ub-wide-ptr.rs:72:1
    |
 LL | const SLICE_TOO_LONG_OVERFLOW: &[u32] = unsafe { mem::transmute((&42u32, isize::MAX)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-wide-ptr.rs:76:1
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-wide-ptr.rs:75:1
    |
 LL | const SLICE_LENGTH_PTR: &[u8] = unsafe { mem::transmute((&42u8, &3)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:79:1
+error[E0080]: constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+  --> $DIR/ub-wide-ptr.rs:78:1
    |
 LL | const SLICE_TOO_LONG_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, 999usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling box (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-wide-ptr.rs:82:1
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ub-wide-ptr.rs:81:1
    |
 LL | const SLICE_LENGTH_PTR_BOX: Box<[u8]> = unsafe { mem::transmute((&42u8, &3)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:86:1
+error[E0080]: constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+  --> $DIR/ub-wide-ptr.rs:85:1
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -140,16 +140,16 @@ LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
            }
 
 note: erroneous constant encountered
-  --> $DIR/ub-wide-ptr.rs:86:40
+  --> $DIR/ub-wide-ptr.rs:85:40
    |
 LL | const SLICE_CONTENT_INVALID: &[bool] = &[unsafe { mem::transmute(3u8) }];
    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:93:1
+error[E0080]: constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+  --> $DIR/ub-wide-ptr.rs:91:1
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.0: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -157,16 +157,16 @@ LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3
            }
 
 note: erroneous constant encountered
-  --> $DIR/ub-wide-ptr.rs:93:42
+  --> $DIR/ub-wide-ptr.rs:91:42
    |
 LL | const MYSLICE_PREFIX_BAD: &MySliceBool = &MySlice(unsafe { mem::transmute(3u8) }, [false]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:97:1
+error[E0080]: constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+  --> $DIR/ub-wide-ptr.rs:94:1
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.1[0]: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -174,143 +174,143 @@ LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::tran
            }
 
 note: erroneous constant encountered
-  --> $DIR/ub-wide-ptr.rs:97:42
+  --> $DIR/ub-wide-ptr.rs:94:42
    |
 LL | const MYSLICE_SUFFIX_BAD: &MySliceBool = &MySlice(true, [unsafe { mem::transmute(3u8) }]);
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-wide-ptr.rs:105:1
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/ub-wide-ptr.rs:101:1
    |
 LL | const RAW_SLICE_LENGTH_UNINIT: *const [u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:114:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC12<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:109:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_1: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u8))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC12<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:118:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC14<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:112:1
    |
 LL | const TRAIT_OBJ_SHORT_VTABLE_2: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &3u64))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC14<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:122:1
+error[E0080]: constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:115:1
    |
 LL | const TRAIT_OBJ_INT_VTABLE: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, 4usize))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0x4[noalloc], but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:125:1
+error[E0080]: constructing invalid value: encountered ALLOC17<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:117:1
    |
 LL | const TRAIT_OBJ_UNALIGNED_VTABLE: &dyn Trait = unsafe { mem::transmute((&92u8, &[0u8; 128])) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC17<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:128:1
+error[E0080]: constructing invalid value: encountered ALLOC19<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:119:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_NULL: &dyn Trait = unsafe { mem::transmute((&92u8, &[0usize; 8])) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC19<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:131:1
+error[E0080]: constructing invalid value: encountered ALLOC21<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:121:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_INT: &dyn Trait = unsafe { mem::transmute((&92u8, &[1usize; 8])) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC21<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:134:1
+error[E0080]: constructing invalid value at .0: encountered ALLOC23<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:123:1
    |
 LL | const TRAIT_OBJ_BAD_DROP_FN_NOT_FN_PTR: W<&dyn Trait> = unsafe { mem::transmute(W((&92u8, &[&42u8; 8]))) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered ALLOC23<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:139:1
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+  --> $DIR/ub-wide-ptr.rs:127:1
    |
 LL | const TRAIT_OBJ_CONTENT_INVALID: &dyn Trait = unsafe { mem::transmute::<_, &bool>(&3u8) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>: encountered 0x03, but expected a boolean
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:144:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:131:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_NULL: *const dyn Trait = unsafe { mem::transmute((&92u8, 0usize)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:147:1
+error[E0080]: constructing invalid value: encountered ALLOC28<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:133:1
    |
 LL | const RAW_TRAIT_OBJ_VTABLE_INVALID: *const dyn Trait = unsafe { mem::transmute((&92u8, &3u64)) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC28<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:155:1
+error[E0080]: constructing invalid value: encountered null pointer, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:140:1
    |
 LL | static mut RAW_TRAIT_OBJ_VTABLE_NULL_THROUGH_REF: *const dyn Trait = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered null pointer, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/ub-wide-ptr.rs:160:1
+error[E0080]: constructing invalid value: encountered ALLOC31<imm>, but expected a vtable pointer
+  --> $DIR/ub-wide-ptr.rs:144:1
    |
 LL | static mut RAW_TRAIT_OBJ_VTABLE_INVALID_THROUGH_REF: *const dyn Trait = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered ALLOC31<imm>, but expected a vtable pointer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/const-eval/ub-write-through-immutable.rs b/tests/ui/consts/const-eval/ub-write-through-immutable.rs
index 795ac602a1c..28c7a617a4d 100644
--- a/tests/ui/consts/const-eval/ub-write-through-immutable.rs
+++ b/tests/ui/consts/const-eval/ub-write-through-immutable.rs
@@ -1,21 +1,19 @@
 //! Ensure we catch UB due to writing through a shared reference.
 #![allow(invalid_reference_casting)]
 
-use std::mem;
 use std::cell::UnsafeCell;
+use std::mem;
 
 const WRITE_AFTER_CAST: () = unsafe {
     let mut x = 0;
     let ptr = &x as *const i32 as *mut i32;
-    *ptr = 0; //~ERROR: evaluation of constant value failed
-    //~| NOTE immutable
+    *ptr = 0; //~ERROR: immutable
 };
 
 const WRITE_AFTER_TRANSMUTE: () = unsafe {
     let mut x = 0;
     let ptr: *mut i32 = mem::transmute(&x);
-    *ptr = 0; //~ERROR: evaluation of constant value failed
-    //~| NOTE immutable
+    *ptr = 0; //~ERROR: immutable
 };
 
 // it's okay when there is interior mutability;
diff --git a/tests/ui/consts/const-eval/ub-write-through-immutable.stderr b/tests/ui/consts/const-eval/ub-write-through-immutable.stderr
index d30df33bc55..a7b4aa5fac8 100644
--- a/tests/ui/consts/const-eval/ub-write-through-immutable.stderr
+++ b/tests/ui/consts/const-eval/ub-write-through-immutable.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: writing through a pointer that was derived from a shared (immutable) reference
   --> $DIR/ub-write-through-immutable.rs:10:5
    |
 LL |     *ptr = 0;
-   |     ^^^^^^^^ writing through a pointer that was derived from a shared (immutable) reference
+   |     ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/ub-write-through-immutable.rs:17:5
+error[E0080]: writing through a pointer that was derived from a shared (immutable) reference
+  --> $DIR/ub-write-through-immutable.rs:16:5
    |
 LL |     *ptr = 0;
-   |     ^^^^^^^^ writing through a pointer that was derived from a shared (immutable) reference
+   |     ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/union-const-eval-field.rs b/tests/ui/consts/const-eval/union-const-eval-field.rs
index 55e9abe72e0..0ad94eee7f4 100644
--- a/tests/ui/consts/const-eval/union-const-eval-field.rs
+++ b/tests/ui/consts/const-eval/union-const-eval-field.rs
@@ -26,8 +26,7 @@ const fn read_field2() -> Field2 {
 
 const fn read_field3() -> Field3 {
     const FIELD3: Field3 = unsafe { UNION.field3 };
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
     FIELD3
 }
 
diff --git a/tests/ui/consts/const-eval/union-const-eval-field.stderr b/tests/ui/consts/const-eval/union-const-eval-field.stderr
index 4fd6b80381c..060e3e314aa 100644
--- a/tests/ui/consts/const-eval/union-const-eval-field.stderr
+++ b/tests/ui/consts/const-eval/union-const-eval-field.stderr
@@ -1,17 +1,17 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/union-const-eval-field.rs:28:37
    |
 LL |     const FIELD3: Field3 = unsafe { UNION.field3 };
-   |                                     ^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                     ^^^^^^^^^^^^ evaluation of constant value failed
 
 note: erroneous constant encountered
-  --> $DIR/union-const-eval-field.rs:31:5
+  --> $DIR/union-const-eval-field.rs:30:5
    |
 LL |     FIELD3
    |     ^^^^^^
 
 note: erroneous constant encountered
-  --> $DIR/union-const-eval-field.rs:31:5
+  --> $DIR/union-const-eval-field.rs:30:5
    |
 LL |     FIELD3
    |     ^^^^^^
diff --git a/tests/ui/consts/const-eval/union-ice.rs b/tests/ui/consts/const-eval/union-ice.rs
index 8ce5f6d89a8..7a4909e8ce2 100644
--- a/tests/ui/consts/const-eval/union-ice.rs
+++ b/tests/ui/consts/const-eval/union-ice.rs
@@ -12,14 +12,12 @@ union DummyUnion {
 const UNION: DummyUnion = DummyUnion { field1: 1065353216 };
 
 const FIELD3: Field3 = unsafe { UNION.field3 };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+//~^ ERROR uninitialized
 
 const FIELD_PATH: Struct = Struct {
     a: 42,
     b: unsafe { UNION.field3 },
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE uninitialized
+    //~^ ERROR uninitialized
 };
 
 struct Struct {
@@ -31,8 +29,7 @@ const FIELD_PATH2: Struct2 = Struct2 {
     b: [
         21,
         unsafe { UNION.field3 },
-        //~^ ERROR evaluation of constant value failed
-        //~| NOTE uninitialized
+        //~^ ERROR uninitialized
         23,
         24,
     ],
@@ -44,5 +41,4 @@ struct Struct2 {
     a: u8,
 }
 
-fn main() {
-}
+fn main() {}
diff --git a/tests/ui/consts/const-eval/union-ice.stderr b/tests/ui/consts/const-eval/union-ice.stderr
index bd39a05510b..a68f6c02945 100644
--- a/tests/ui/consts/const-eval/union-ice.stderr
+++ b/tests/ui/consts/const-eval/union-ice.stderr
@@ -1,20 +1,20 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/union-ice.rs:14:33
    |
 LL | const FIELD3: Field3 = unsafe { UNION.field3 };
-   |                                 ^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                                 ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/union-ice.rs:20:17
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/union-ice.rs:19:17
    |
 LL |     b: unsafe { UNION.field3 },
-   |                 ^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                 ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/union-ice.rs:33:18
+error[E0080]: using uninitialized data, but this operation requires initialized memory
+  --> $DIR/union-ice.rs:31:18
    |
 LL |         unsafe { UNION.field3 },
-   |                  ^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   |                  ^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/consts/const-eval/union-ub.32bit.stderr b/tests/ui/consts/const-eval/union-ub.32bit.stderr
index 38ded4d65cf..2cc3f8bdaac 100644
--- a/tests/ui/consts/const-eval/union-ub.32bit.stderr
+++ b/tests/ui/consts/const-eval/union-ub.32bit.stderr
@@ -1,19 +1,19 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0x2a, but expected a boolean
   --> $DIR/union-ub.rs:33:1
    |
-LL | const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool};
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x2a, but expected a boolean
+LL | const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool };
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                2a                                              │ *
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/union-ub.rs:35:36
    |
-LL | const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool};
-   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL | const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool };
+   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/union-ub.64bit.stderr b/tests/ui/consts/const-eval/union-ub.64bit.stderr
index 38ded4d65cf..2cc3f8bdaac 100644
--- a/tests/ui/consts/const-eval/union-ub.64bit.stderr
+++ b/tests/ui/consts/const-eval/union-ub.64bit.stderr
@@ -1,19 +1,19 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0x2a, but expected a boolean
   --> $DIR/union-ub.rs:33:1
    |
-LL | const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool};
-   | ^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0x2a, but expected a boolean
+LL | const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool };
+   | ^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 1, align: 1) {
                2a                                              │ *
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/union-ub.rs:35:36
    |
-LL | const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool};
-   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL | const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool };
+   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/union-ub.rs b/tests/ui/consts/const-eval/union-ub.rs
index 7d8fd7446a0..0fa5d312856 100644
--- a/tests/ui/consts/const-eval/union-ub.rs
+++ b/tests/ui/consts/const-eval/union-ub.rs
@@ -30,15 +30,13 @@ union Bar {
 }
 
 // the value is not valid for bools
-const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool};
-//~^ ERROR it is undefined behavior to use this value
-const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool};
-//~^ ERROR evaluation of constant value failed
-//~| NOTE uninitialized
+const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool };
+//~^ ERROR invalid value
+const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool };
+//~^ ERROR uninitialized
 
 // The value is not valid for any union variant, but that's fine
 // unions are just a convenient way to transmute bits around
 const BAD_UNION: Foo = unsafe { Bar { u8: 42 }.foo };
 
-
 fn main() {}
diff --git a/tests/ui/consts/const-eval/unused-broken-const.rs b/tests/ui/consts/const-eval/unused-broken-const.rs
index f7e229aa980..60206362665 100644
--- a/tests/ui/consts/const-eval/unused-broken-const.rs
+++ b/tests/ui/consts/const-eval/unused-broken-const.rs
@@ -3,6 +3,6 @@
 //@ compile-flags: --emit=dep-info,metadata
 
 const FOO: i32 = [][0];
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR index out of bounds
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/unused-broken-const.stderr b/tests/ui/consts/const-eval/unused-broken-const.stderr
index fd0ee316fe2..74c713be4e4 100644
--- a/tests/ui/consts/const-eval/unused-broken-const.stderr
+++ b/tests/ui/consts/const-eval/unused-broken-const.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 0 but the index is 0
   --> $DIR/unused-broken-const.rs:5:18
    |
 LL | const FOO: i32 = [][0];
-   |                  ^^^^^ index out of bounds: the length is 0 but the index is 0
+   |                  ^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-eval/unwind-abort.rs b/tests/ui/consts/const-eval/unwind-abort.rs
index b239dba0239..688bb085356 100644
--- a/tests/ui/consts/const-eval/unwind-abort.rs
+++ b/tests/ui/consts/const-eval/unwind-abort.rs
@@ -4,7 +4,7 @@ const extern "C" fn foo() {
     panic!() //~ NOTE inside `foo`
 }
 
-const _: () = foo(); //~ ERROR evaluation of constant value failed
+const _: () = foo(); //~ ERROR explicit panic
 // Ensure that the CTFE engine handles calls to `extern "C"` aborting gracefully
 
 fn main() {
diff --git a/tests/ui/consts/const-eval/unwind-abort.stderr b/tests/ui/consts/const-eval/unwind-abort.stderr
index 5ed7467e84b..5468b56ec05 100644
--- a/tests/ui/consts/const-eval/unwind-abort.stderr
+++ b/tests/ui/consts/const-eval/unwind-abort.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/unwind-abort.rs:7:15
    |
 LL | const _: () = foo();
-   |               ^^^^^ evaluation panicked: explicit panic
+   |               ^^^^^ evaluation of constant value failed
    |
 note: inside `foo`
   --> $DIR/unwind-abort.rs:4:5
diff --git a/tests/ui/consts/const-eval/validate_uninhabited_zsts.rs b/tests/ui/consts/const-eval/validate_uninhabited_zsts.rs
index 5f1d27b0de0..dbb165c64d9 100644
--- a/tests/ui/consts/const-eval/validate_uninhabited_zsts.rs
+++ b/tests/ui/consts/const-eval/validate_uninhabited_zsts.rs
@@ -15,10 +15,10 @@ pub mod empty {
 }
 
 const FOO: [empty::Empty; 3] = [foo(); 3];
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR value of the never type
 
 const BAR: [empty::Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR value of uninhabited type
 
 fn main() {
     FOO;
diff --git a/tests/ui/consts/const-eval/validate_uninhabited_zsts.stderr b/tests/ui/consts/const-eval/validate_uninhabited_zsts.stderr
index 0407ae5c323..cb006127741 100644
--- a/tests/ui/consts/const-eval/validate_uninhabited_zsts.stderr
+++ b/tests/ui/consts/const-eval/validate_uninhabited_zsts.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: constructing invalid value: encountered a value of the never type `!`
   --> $DIR/validate_uninhabited_zsts.rs:17:33
    |
 LL | const FOO: [empty::Empty; 3] = [foo(); 3];
-   |                                 ^^^^^ constructing invalid value: encountered a value of the never type `!`
+   |                                 ^^^^^ evaluation of constant value failed
    |
 note: inside `foo`
   --> $DIR/validate_uninhabited_zsts.rs:4:14
@@ -10,11 +10,11 @@ note: inside `foo`
 LL |     unsafe { std::mem::transmute(()) }
    |              ^^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: constructing invalid value at .0: encountered a value of uninhabited type `Void`
   --> $DIR/validate_uninhabited_zsts.rs:20:42
    |
 LL | const BAR: [empty::Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered a value of uninhabited type `Void`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-eval/validation-ice-extern-type-field.rs b/tests/ui/consts/const-eval/validation-ice-extern-type-field.rs
index 8a32b170c40..3081689ee90 100644
--- a/tests/ui/consts/const-eval/validation-ice-extern-type-field.rs
+++ b/tests/ui/consts/const-eval/validation-ice-extern-type-field.rs
@@ -10,6 +10,6 @@ struct ThinDst {
 }
 
 const C1: &ThinDst = unsafe { std::mem::transmute(b"d".as_ptr()) };
-//~^ERROR: evaluation of constant value failed
+//~^ERROR: `extern type` field does not have a known offset
 
 fn main() {}
diff --git a/tests/ui/consts/const-eval/validation-ice-extern-type-field.stderr b/tests/ui/consts/const-eval/validation-ice-extern-type-field.stderr
index 1ec36abc2ec..8456b04b306 100644
--- a/tests/ui/consts/const-eval/validation-ice-extern-type-field.stderr
+++ b/tests/ui/consts/const-eval/validation-ice-extern-type-field.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: `extern type` field does not have a known offset
   --> $DIR/validation-ice-extern-type-field.rs:12:1
    |
 LL | const C1: &ThinDst = unsafe { std::mem::transmute(b"d".as_ptr()) };
-   | ^^^^^^^^^^^^^^^^^^ `extern type` field does not have a known offset
+   | ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-external-macro-const-err.rs b/tests/ui/consts/const-external-macro-const-err.rs
index 3cb83823f1a..60cbe36071d 100644
--- a/tests/ui/consts/const-external-macro-const-err.rs
+++ b/tests/ui/consts/const-external-macro-const-err.rs
@@ -9,5 +9,5 @@ extern crate external_macro;
 use external_macro::static_assert;
 
 fn main() {
-    static_assert!(2 + 2 == 5); //~ ERROR constant
+    static_assert!(2 + 2 == 5); //~ ERROR index out of bounds: the length is 1 but the index is 1
 }
diff --git a/tests/ui/consts/const-external-macro-const-err.stderr b/tests/ui/consts/const-external-macro-const-err.stderr
index 63f81ea18bc..c5374ae6b98 100644
--- a/tests/ui/consts/const-external-macro-const-err.stderr
+++ b/tests/ui/consts/const-external-macro-const-err.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/const-external-macro-const-err.rs:12:5
    |
 LL |     static_assert!(2 + 2 == 5);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = note: this error originates in the macro `static_assert` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/tests/ui/consts/const-int-unchecked.rs b/tests/ui/consts/const-int-unchecked.rs
index 8de28aa2bb1..3fc58720cf1 100644
--- a/tests/ui/consts/const-int-unchecked.rs
+++ b/tests/ui/consts/const-int-unchecked.rs
@@ -1,6 +1,5 @@
 #![feature(core_intrinsics)]
 
-
 use std::intrinsics;
 
 // The documentation of `unchecked_shl` states that it:
@@ -13,137 +12,137 @@ use std::intrinsics;
 // unsigned types:
 
 const SHL_U8: u8 = unsafe { intrinsics::unchecked_shl(5_u8, 8) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_U16: u16 = unsafe { intrinsics::unchecked_shl(5_u16, 16) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_U32: u32 = unsafe { intrinsics::unchecked_shl(5_u32, 32) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_U64: u64 = unsafe { intrinsics::unchecked_shl(5_u64, 64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_U128: u128 = unsafe { intrinsics::unchecked_shl(5_u128, 128) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // signed types:
 
 const SHL_I8: i8 = unsafe { intrinsics::unchecked_shl(5_i8, 8) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I16: i16 = unsafe { intrinsics::unchecked_shl(5_i16, 16) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I32: i32 = unsafe { intrinsics::unchecked_shl(5_i32, 32) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I64: i64 = unsafe { intrinsics::unchecked_shl(5_i64, 64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I128: i128 = unsafe { intrinsics::unchecked_shl(5_i128, 128) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // and make sure we capture y < 0:
 
 const SHL_I8_NEG: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I16_NEG: i16 = unsafe { intrinsics::unchecked_shl(5_i16, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I32_NEG: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I64_NEG: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I128_NEG: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // and that there's no special relation to the value -1 by picking some
 // negative values at random:
 
 const SHL_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -6) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shl(5_i16, -13) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -25) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -30) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHL_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -93) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // Repeat it all over for `unchecked_shr`
 
 // unsigned types:
 
 const SHR_U8: u8 = unsafe { intrinsics::unchecked_shr(5_u8, 8) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_U16: u16 = unsafe { intrinsics::unchecked_shr(5_u16, 16) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_U32: u32 = unsafe { intrinsics::unchecked_shr(5_u32, 32) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_U64: u64 = unsafe { intrinsics::unchecked_shr(5_u64, 64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_U128: u128 = unsafe { intrinsics::unchecked_shr(5_u128, 128) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // signed types:
 
 const SHR_I8: i8 = unsafe { intrinsics::unchecked_shr(5_i8, 8) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I16: i16 = unsafe { intrinsics::unchecked_shr(5_i16, 16) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I32: i32 = unsafe { intrinsics::unchecked_shr(5_i32, 32) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I64: i64 = unsafe { intrinsics::unchecked_shr(5_i64, 64) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I128: i128 = unsafe { intrinsics::unchecked_shr(5_i128, 128) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // and make sure we capture y < 0:
 
 const SHR_I8_NEG: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I16_NEG: i16 = unsafe { intrinsics::unchecked_shr(5_i16, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I32_NEG: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I64_NEG: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I128_NEG: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // and that there's no special relation to the value -1 by picking some
 // negative values at random:
 
 const SHR_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -6) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shr(5_i16, -13) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -25) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -30) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 const SHR_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -93) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflowing shift
 
 // Other arithmetic functions:
 
 const _: u16 = unsafe { std::intrinsics::unchecked_add(40000u16, 30000) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR arithmetic overflow
 
 const _: u32 = unsafe { std::intrinsics::unchecked_sub(14u32, 22) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR arithmetic overflow
 
 const _: u16 = unsafe { std::intrinsics::unchecked_mul(300u16, 250u16) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR arithmetic overflow
 
 const _: i32 = unsafe { std::intrinsics::unchecked_div(1, 0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR dividing by zero
 const _: i32 = unsafe { std::intrinsics::unchecked_div(i32::MIN, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflow in signed division (dividing MIN by -1)
 
 const _: i32 = unsafe { std::intrinsics::unchecked_rem(1, 0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR calculating the remainder with a divisor of zero
 const _: i32 = unsafe { std::intrinsics::unchecked_rem(i32::MIN, -1) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR overflow in signed remainder (dividing MIN by -1)
 
 // capture fault with zero value
 
 const _: u32 = unsafe { std::intrinsics::ctlz_nonzero(0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR `ctlz_nonzero` called on 0
 const _: u32 = unsafe { std::intrinsics::cttz_nonzero(0) };
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR `cttz_nonzero` called on 0
 
 fn main() {}
diff --git a/tests/ui/consts/const-int-unchecked.stderr b/tests/ui/consts/const-int-unchecked.stderr
index 3130603231e..29c6c829777 100644
--- a/tests/ui/consts/const-int-unchecked.stderr
+++ b/tests/ui/consts/const-int-unchecked.stderr
@@ -1,296 +1,296 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:15:29
+error[E0080]: overflowing shift by 8 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:14:29
    |
 LL | const SHL_U8: u8 = unsafe { intrinsics::unchecked_shl(5_u8, 8) };
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 8 in `unchecked_shl`
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:17:31
+error[E0080]: overflowing shift by 16 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:16:31
    |
 LL | const SHL_U16: u16 = unsafe { intrinsics::unchecked_shl(5_u16, 16) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 16 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:19:31
+error[E0080]: overflowing shift by 32 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:18:31
    |
 LL | const SHL_U32: u32 = unsafe { intrinsics::unchecked_shl(5_u32, 32) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 32 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:21:31
+error[E0080]: overflowing shift by 64 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:20:31
    |
 LL | const SHL_U64: u64 = unsafe { intrinsics::unchecked_shl(5_u64, 64) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:23:33
+error[E0080]: overflowing shift by 128 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:22:33
    |
 LL | const SHL_U128: u128 = unsafe { intrinsics::unchecked_shl(5_u128, 128) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 128 in `unchecked_shl`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:28:29
+error[E0080]: overflowing shift by 8 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:27:29
    |
 LL | const SHL_I8: i8 = unsafe { intrinsics::unchecked_shl(5_i8, 8) };
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 8 in `unchecked_shl`
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:30:31
+error[E0080]: overflowing shift by 16 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:29:31
    |
 LL | const SHL_I16: i16 = unsafe { intrinsics::unchecked_shl(5_i16, 16) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 16 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:32:31
+error[E0080]: overflowing shift by 32 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:31:31
    |
 LL | const SHL_I32: i32 = unsafe { intrinsics::unchecked_shl(5_i32, 32) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 32 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:34:31
+error[E0080]: overflowing shift by 64 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:33:31
    |
 LL | const SHL_I64: i64 = unsafe { intrinsics::unchecked_shl(5_i64, 64) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shl`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:36:33
+error[E0080]: overflowing shift by 128 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:35:33
    |
 LL | const SHL_I128: i128 = unsafe { intrinsics::unchecked_shl(5_i128, 128) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 128 in `unchecked_shl`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:41:33
+error[E0080]: overflowing shift by -1 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:40:33
    |
 LL | const SHL_I8_NEG: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -1) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shl`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:43:35
+error[E0080]: overflowing shift by -1 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:42:35
    |
 LL | const SHL_I16_NEG: i16 = unsafe { intrinsics::unchecked_shl(5_i16, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shl`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:45:35
+error[E0080]: overflowing shift by -1 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:44:35
    |
 LL | const SHL_I32_NEG: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shl`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:47:35
+error[E0080]: overflowing shift by -1 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:46:35
    |
 LL | const SHL_I64_NEG: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shl`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:49:37
+error[E0080]: overflowing shift by -1 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:48:37
    |
 LL | const SHL_I128_NEG: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -1) };
-   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shl`
+   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:55:40
+error[E0080]: overflowing shift by -6 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:54:40
    |
 LL | const SHL_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shl(5_i8, -6) };
-   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -6 in `unchecked_shl`
+   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:57:42
+error[E0080]: overflowing shift by -13 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:56:42
    |
 LL | const SHL_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shl(5_i16, -13) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -13 in `unchecked_shl`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:59:42
+error[E0080]: overflowing shift by -25 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:58:42
    |
 LL | const SHL_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shl(5_i32, -25) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -25 in `unchecked_shl`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:61:42
+error[E0080]: overflowing shift by -30 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:60:42
    |
 LL | const SHL_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shl(5_i64, -30) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -30 in `unchecked_shl`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:63:44
+error[E0080]: overflowing shift by -93 in `unchecked_shl`
+  --> $DIR/const-int-unchecked.rs:62:44
    |
 LL | const SHL_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shl(5_i128, -93) };
-   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -93 in `unchecked_shl`
+   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:70:29
+error[E0080]: overflowing shift by 8 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:69:29
    |
 LL | const SHR_U8: u8 = unsafe { intrinsics::unchecked_shr(5_u8, 8) };
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 8 in `unchecked_shr`
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:72:31
+error[E0080]: overflowing shift by 16 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:71:31
    |
 LL | const SHR_U16: u16 = unsafe { intrinsics::unchecked_shr(5_u16, 16) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 16 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:74:31
+error[E0080]: overflowing shift by 32 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:73:31
    |
 LL | const SHR_U32: u32 = unsafe { intrinsics::unchecked_shr(5_u32, 32) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 32 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:76:31
+error[E0080]: overflowing shift by 64 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:75:31
    |
 LL | const SHR_U64: u64 = unsafe { intrinsics::unchecked_shr(5_u64, 64) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:78:33
+error[E0080]: overflowing shift by 128 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:77:33
    |
 LL | const SHR_U128: u128 = unsafe { intrinsics::unchecked_shr(5_u128, 128) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 128 in `unchecked_shr`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:83:29
+error[E0080]: overflowing shift by 8 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:82:29
    |
 LL | const SHR_I8: i8 = unsafe { intrinsics::unchecked_shr(5_i8, 8) };
-   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 8 in `unchecked_shr`
+   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:85:31
+error[E0080]: overflowing shift by 16 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:84:31
    |
 LL | const SHR_I16: i16 = unsafe { intrinsics::unchecked_shr(5_i16, 16) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 16 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:87:31
+error[E0080]: overflowing shift by 32 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:86:31
    |
 LL | const SHR_I32: i32 = unsafe { intrinsics::unchecked_shr(5_i32, 32) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 32 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:89:31
+error[E0080]: overflowing shift by 64 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:88:31
    |
 LL | const SHR_I64: i64 = unsafe { intrinsics::unchecked_shr(5_i64, 64) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shr`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:91:33
+error[E0080]: overflowing shift by 128 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:90:33
    |
 LL | const SHR_I128: i128 = unsafe { intrinsics::unchecked_shr(5_i128, 128) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 128 in `unchecked_shr`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:96:33
+error[E0080]: overflowing shift by -1 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:95:33
    |
 LL | const SHR_I8_NEG: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -1) };
-   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shr`
+   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:98:35
+error[E0080]: overflowing shift by -1 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:97:35
    |
 LL | const SHR_I16_NEG: i16 = unsafe { intrinsics::unchecked_shr(5_i16, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shr`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:100:35
+error[E0080]: overflowing shift by -1 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:99:35
    |
 LL | const SHR_I32_NEG: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shr`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:102:35
+error[E0080]: overflowing shift by -1 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:101:35
    |
 LL | const SHR_I64_NEG: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -1) };
-   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shr`
+   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:104:37
+error[E0080]: overflowing shift by -1 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:103:37
    |
 LL | const SHR_I128_NEG: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -1) };
-   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 in `unchecked_shr`
+   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:110:40
+error[E0080]: overflowing shift by -6 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:109:40
    |
 LL | const SHR_I8_NEG_RANDOM: i8 = unsafe { intrinsics::unchecked_shr(5_i8, -6) };
-   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -6 in `unchecked_shr`
+   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:112:42
+error[E0080]: overflowing shift by -13 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:111:42
    |
 LL | const SHR_I16_NEG_RANDOM: i16 = unsafe { intrinsics::unchecked_shr(5_i16, -13) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -13 in `unchecked_shr`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:114:42
+error[E0080]: overflowing shift by -25 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:113:42
    |
 LL | const SHR_I32_NEG_RANDOM: i32 = unsafe { intrinsics::unchecked_shr(5_i32, -25) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -25 in `unchecked_shr`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:116:42
+error[E0080]: overflowing shift by -30 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:115:42
    |
 LL | const SHR_I64_NEG_RANDOM: i64 = unsafe { intrinsics::unchecked_shr(5_i64, -30) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -30 in `unchecked_shr`
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:118:44
+error[E0080]: overflowing shift by -93 in `unchecked_shr`
+  --> $DIR/const-int-unchecked.rs:117:44
    |
 LL | const SHR_I128_NEG_RANDOM: i128 = unsafe { intrinsics::unchecked_shr(5_i128, -93) };
-   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -93 in `unchecked_shr`
+   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:123:25
+error[E0080]: arithmetic overflow in `unchecked_add`
+  --> $DIR/const-int-unchecked.rs:122:25
    |
 LL | const _: u16 = unsafe { std::intrinsics::unchecked_add(40000u16, 30000) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ arithmetic overflow in `unchecked_add`
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:126:25
+error[E0080]: arithmetic overflow in `unchecked_sub`
+  --> $DIR/const-int-unchecked.rs:125:25
    |
 LL | const _: u32 = unsafe { std::intrinsics::unchecked_sub(14u32, 22) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ arithmetic overflow in `unchecked_sub`
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:129:25
+error[E0080]: arithmetic overflow in `unchecked_mul`
+  --> $DIR/const-int-unchecked.rs:128:25
    |
 LL | const _: u16 = unsafe { std::intrinsics::unchecked_mul(300u16, 250u16) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ arithmetic overflow in `unchecked_mul`
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:132:25
+error[E0080]: dividing by zero
+  --> $DIR/const-int-unchecked.rs:131:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_div(1, 0) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dividing by zero
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:134:25
+error[E0080]: overflow in signed division (dividing MIN by -1)
+  --> $DIR/const-int-unchecked.rs:133:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_div(i32::MIN, -1) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflow in signed division (dividing MIN by -1)
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:137:25
+error[E0080]: calculating the remainder with a divisor of zero
+  --> $DIR/const-int-unchecked.rs:136:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_rem(1, 0) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calculating the remainder with a divisor of zero
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:139:25
+error[E0080]: overflow in signed remainder (dividing MIN by -1)
+  --> $DIR/const-int-unchecked.rs:138:25
    |
 LL | const _: i32 = unsafe { std::intrinsics::unchecked_rem(i32::MIN, -1) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflow in signed remainder (dividing MIN by -1)
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:144:25
+error[E0080]: `ctlz_nonzero` called on 0
+  --> $DIR/const-int-unchecked.rs:143:25
    |
 LL | const _: u32 = unsafe { std::intrinsics::ctlz_nonzero(0) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ctlz_nonzero` called on 0
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-int-unchecked.rs:146:25
+error[E0080]: `cttz_nonzero` called on 0
+  --> $DIR/const-int-unchecked.rs:145:25
    |
 LL | const _: u32 = unsafe { std::intrinsics::cttz_nonzero(0) };
-   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `cttz_nonzero` called on 0
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 49 previous errors
 
diff --git a/tests/ui/consts/const-len-underflow-separate-spans.next.stderr b/tests/ui/consts/const-len-underflow-separate-spans.next.stderr
index aacd74635e9..ada8f703349 100644
--- a/tests/ui/consts/const-len-underflow-separate-spans.next.stderr
+++ b/tests/ui/consts/const-len-underflow-separate-spans.next.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `1_usize - 2_usize`, which would overflow
   --> $DIR/const-len-underflow-separate-spans.rs:10:20
    |
 LL | const LEN: usize = ONE - TWO;
-   |                    ^^^^^^^^^ attempt to compute `1_usize - 2_usize`, which would overflow
+   |                    ^^^^^^^^^ evaluation of constant value failed
 
 note: erroneous constant encountered
   --> $DIR/const-len-underflow-separate-spans.rs:15:17
diff --git a/tests/ui/consts/const-len-underflow-separate-spans.old.stderr b/tests/ui/consts/const-len-underflow-separate-spans.old.stderr
index aacd74635e9..ada8f703349 100644
--- a/tests/ui/consts/const-len-underflow-separate-spans.old.stderr
+++ b/tests/ui/consts/const-len-underflow-separate-spans.old.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `1_usize - 2_usize`, which would overflow
   --> $DIR/const-len-underflow-separate-spans.rs:10:20
    |
 LL | const LEN: usize = ONE - TWO;
-   |                    ^^^^^^^^^ attempt to compute `1_usize - 2_usize`, which would overflow
+   |                    ^^^^^^^^^ evaluation of constant value failed
 
 note: erroneous constant encountered
   --> $DIR/const-len-underflow-separate-spans.rs:15:17
diff --git a/tests/ui/consts/const-len-underflow-separate-spans.rs b/tests/ui/consts/const-len-underflow-separate-spans.rs
index 14eb88b1427..a815ecaef70 100644
--- a/tests/ui/consts/const-len-underflow-separate-spans.rs
+++ b/tests/ui/consts/const-len-underflow-separate-spans.rs
@@ -8,10 +8,10 @@
 const ONE: usize = 1;
 const TWO: usize = 2;
 const LEN: usize = ONE - TWO;
-//~^ ERROR constant
-//~| NOTE attempt to compute `1_usize - 2_usize`, which would overflow
+//~^ NOTE constant
+//~| ERROR attempt to compute `1_usize - 2_usize`, which would overflow
 
 fn main() {
     let a: [i8; LEN] = unimplemented!();
-//~^ NOTE constant
+    //~^ NOTE constant
 }
diff --git a/tests/ui/consts/const-len-underflow-subspans.rs b/tests/ui/consts/const-len-underflow-subspans.rs
index 5afb1bf89d0..1540bffa0ad 100644
--- a/tests/ui/consts/const-len-underflow-subspans.rs
+++ b/tests/ui/consts/const-len-underflow-subspans.rs
@@ -6,6 +6,5 @@ const TWO: usize = 2;
 
 fn main() {
     let a: [i8; ONE - TWO] = unimplemented!();
-    //~^ ERROR evaluation of constant value failed
-    //~| NOTE attempt to compute `1_usize - 2_usize`, which would overflow
+    //~^ ERROR attempt to compute `1_usize - 2_usize`, which would overflow
 }
diff --git a/tests/ui/consts/const-len-underflow-subspans.stderr b/tests/ui/consts/const-len-underflow-subspans.stderr
index bfec056cc8a..b998c00135d 100644
--- a/tests/ui/consts/const-len-underflow-subspans.stderr
+++ b/tests/ui/consts/const-len-underflow-subspans.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to compute `1_usize - 2_usize`, which would overflow
   --> $DIR/const-len-underflow-subspans.rs:8:17
    |
 LL |     let a: [i8; ONE - TWO] = unimplemented!();
-   |                 ^^^^^^^^^ attempt to compute `1_usize - 2_usize`, which would overflow
+   |                 ^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-mut-refs/mut_ref_in_final.rs b/tests/ui/consts/const-mut-refs/mut_ref_in_final.rs
index bc534be6832..29474c76320 100644
--- a/tests/ui/consts/const-mut-refs/mut_ref_in_final.rs
+++ b/tests/ui/consts/const-mut-refs/mut_ref_in_final.rs
@@ -25,8 +25,7 @@ const B4: Option<&mut i32> = helper(&mut 42); //~ ERROR temporary value dropped
 
 // Not ok, since it points to read-only memory.
 const IMMUT_MUT_REF: &mut u16 = unsafe { mem::transmute(&13) };
-//~^ ERROR undefined behavior to use this value
-//~| NOTE pointing to read-only memory
+//~^ ERROR pointing to read-only memory
 
 // Ok, because no references to mutable data exist here, since the `{}` moves
 // its value and then takes a reference to that.
diff --git a/tests/ui/consts/const-mut-refs/mut_ref_in_final.stderr b/tests/ui/consts/const-mut-refs/mut_ref_in_final.stderr
index 1f49f08c401..834ea3410f6 100644
--- a/tests/ui/consts/const-mut-refs/mut_ref_in_final.stderr
+++ b/tests/ui/consts/const-mut-refs/mut_ref_in_final.stderr
@@ -24,11 +24,11 @@ LL | const B4: Option<&mut i32> = helper(&mut 42);
    |                              |           creates a temporary value which is freed while still in use
    |                              using this value as a constant requires that borrow lasts for `'static`
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
   --> $DIR/mut_ref_in_final.rs:27:1
    |
 LL | const IMMUT_MUT_REF: &mut u16 = unsafe { mem::transmute(&13) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -36,7 +36,7 @@ LL | const IMMUT_MUT_REF: &mut u16 = unsafe { mem::transmute(&13) };
            }
 
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/mut_ref_in_final.rs:51:65
+  --> $DIR/mut_ref_in_final.rs:50:65
    |
 LL | const FOO: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                  -------------------------------^^--
@@ -46,7 +46,7 @@ LL | const FOO: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                  using this value as a constant requires that borrow lasts for `'static`
 
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/mut_ref_in_final.rs:54:67
+  --> $DIR/mut_ref_in_final.rs:53:67
    |
 LL | static FOO2: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                    -------------------------------^^--
@@ -56,7 +56,7 @@ LL | static FOO2: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                    using this value as a static requires that borrow lasts for `'static`
 
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/mut_ref_in_final.rs:57:71
+  --> $DIR/mut_ref_in_final.rs:56:71
    |
 LL | static mut FOO3: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                        -------------------------------^^--
@@ -66,25 +66,25 @@ LL | static mut FOO3: NotAMutex<&mut i32> = NotAMutex(UnsafeCell::new(&mut 42));
    |                                        using this value as a static requires that borrow lasts for `'static`
 
 error[E0764]: mutable references are not allowed in the final value of statics
-  --> $DIR/mut_ref_in_final.rs:70:53
+  --> $DIR/mut_ref_in_final.rs:69:53
    |
 LL | static RAW_MUT_CAST_S: SyncPtr<i32> = SyncPtr { x : &mut 42 as *mut _ as *const _ };
    |                                                     ^^^^^^^
 
 error[E0764]: mutable references are not allowed in the final value of statics
-  --> $DIR/mut_ref_in_final.rs:72:54
+  --> $DIR/mut_ref_in_final.rs:71:54
    |
 LL | static RAW_MUT_COERCE_S: SyncPtr<i32> = SyncPtr { x: &mut 0 };
    |                                                      ^^^^^^
 
 error[E0764]: mutable references are not allowed in the final value of constants
-  --> $DIR/mut_ref_in_final.rs:74:52
+  --> $DIR/mut_ref_in_final.rs:73:52
    |
 LL | const RAW_MUT_CAST_C: SyncPtr<i32> = SyncPtr { x : &mut 42 as *mut _ as *const _ };
    |                                                    ^^^^^^^
 
 error[E0764]: mutable references are not allowed in the final value of constants
-  --> $DIR/mut_ref_in_final.rs:76:53
+  --> $DIR/mut_ref_in_final.rs:75:53
    |
 LL | const RAW_MUT_COERCE_C: SyncPtr<i32> = SyncPtr { x: &mut 0 };
    |                                                     ^^^^^^
diff --git a/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs b/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs
index a58c4437e15..2707e8a14ec 100644
--- a/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs
+++ b/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.rs
@@ -16,24 +16,21 @@ static mut BUFFER: i32 = 42;
 const fn helper() -> Option<&'static mut i32> { unsafe {
     Some(&mut *std::ptr::addr_of_mut!(BUFFER))
 } }
-const MUT: Option<&mut i32> = helper(); //~ ERROR it is undefined behavior to use this value
-//~^ NOTE encountered reference to mutable
+const MUT: Option<&mut i32> = helper(); //~ ERROR encountered reference to mutable
 
 const fn helper_int2ptr() -> Option<&'static mut i32> { unsafe {
     // Undefined behaviour (integer as pointer), who doesn't love tests like this.
     Some(&mut *(42 as *mut i32))
 } }
-const INT2PTR: Option<&mut i32> = helper_int2ptr(); //~ ERROR it is undefined behavior to use this value
-//~^ NOTE encountered a dangling reference
-static INT2PTR_STATIC: Option<&mut i32> = helper_int2ptr(); //~ ERROR it is undefined behavior to use this value
-//~^ NOTE encountered a dangling reference
+const INT2PTR: Option<&mut i32> = helper_int2ptr(); //~ ERROR encountered a dangling reference
+static INT2PTR_STATIC: Option<&mut i32> = helper_int2ptr(); //~ ERROR encountered a dangling reference
 
 const fn helper_dangling() -> Option<&'static mut i32> { unsafe {
     // Undefined behaviour (dangling pointer), who doesn't love tests like this.
     Some(&mut *(&mut 42 as *mut i32))
 } }
-const DANGLING: Option<&mut i32> = helper_dangling(); //~ ERROR it is undefined behavior to use this value
-static DANGLING_STATIC: Option<&mut i32> = helper_dangling(); //~ ERROR it is undefined behavior to use this value
+const DANGLING: Option<&mut i32> = helper_dangling(); //~ ERROR dangling reference
+static DANGLING_STATIC: Option<&mut i32> = helper_dangling(); //~ ERROR dangling reference
 
 // These are fine! Just statics pointing to mutable statics, nothing fundamentally wrong with this.
 static MUT_STATIC: Option<&mut i32> = helper();
diff --git a/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr b/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr
index 4ea6fa62475..6456587b77a 100644
--- a/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr
+++ b/tests/ui/consts/const-mut-refs/mut_ref_in_final_dynamic_check.stderr
@@ -1,52 +1,52 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0: encountered reference to mutable memory in `const`
   --> $DIR/mut_ref_in_final_dynamic_check.rs:19:1
    |
 LL | const MUT: Option<&mut i32> = helper();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mut_ref_in_final_dynamic_check.rs:26:1
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (0x2a[noalloc] has no provenance)
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:25:1
    |
 LL | const INT2PTR: Option<&mut i32> = helper_int2ptr();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (0x2a[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mut_ref_in_final_dynamic_check.rs:28:1
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (0x2a[noalloc] has no provenance)
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:26:1
    |
 LL | static INT2PTR_STATIC: Option<&mut i32> = helper_int2ptr();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (0x2a[noalloc] has no provenance)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mut_ref_in_final_dynamic_check.rs:35:1
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (use-after-free)
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:32:1
    |
 LL | const DANGLING: Option<&mut i32> = helper_dangling();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (use-after-free)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mut_ref_in_final_dynamic_check.rs:36:1
+error[E0080]: constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (use-after-free)
+  --> $DIR/mut_ref_in_final_dynamic_check.rs:33:1
    |
 LL | static DANGLING_STATIC: Option<&mut i32> = helper_dangling();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-variant(Some)>.0: encountered a dangling reference (use-after-free)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/const-ptr-is-null.rs b/tests/ui/consts/const-ptr-is-null.rs
index 319f6b1a62b..7e7b74c3520 100644
--- a/tests/ui/consts/const-ptr-is-null.rs
+++ b/tests/ui/consts/const-ptr-is-null.rs
@@ -19,7 +19,7 @@ const MAYBE_NULL: () = {
     assert!(!ptr.wrapping_byte_sub(1).is_null());
     // ... but once we shift outside the allocation, with an offset divisible by 4,
     // we might become null.
-    assert!(!ptr.wrapping_sub(512).is_null()); //~ ERROR evaluation of constant value failed
+    assert!(!ptr.wrapping_sub(512).is_null()); //~ ERROR null-ness of this pointer cannot be determined
 };
 
 fn main() {}
diff --git a/tests/ui/consts/const-ptr-is-null.stderr b/tests/ui/consts/const-ptr-is-null.stderr
index 1a2be3b3cb1..9969430bde8 100644
--- a/tests/ui/consts/const-ptr-is-null.stderr
+++ b/tests/ui/consts/const-ptr-is-null.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: null-ness of this pointer cannot be determined in const context
   --> $DIR/const-ptr-is-null.rs:22:14
    |
 LL |     assert!(!ptr.wrapping_sub(512).is_null());
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: null-ness of this pointer cannot be determined in const context
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::ptr::const_ptr::<impl *const i32>::is_null`
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
diff --git a/tests/ui/consts/const-size_of_val-align_of_val-extern-type.rs b/tests/ui/consts/const-size_of_val-align_of_val-extern-type.rs
index 598904d3c44..14cdf6bb7c6 100644
--- a/tests/ui/consts/const-size_of_val-align_of_val-extern-type.rs
+++ b/tests/ui/consts/const-size_of_val-align_of_val-extern-type.rs
@@ -7,7 +7,7 @@ extern "C" {
     type Opaque;
 }
 
-const _SIZE: usize = unsafe { size_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR constant
-const _ALIGN: usize = unsafe { min_align_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR constant
+const _SIZE: usize = unsafe { size_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR layout
+const _ALIGN: usize = unsafe { min_align_of_val(&4 as *const i32 as *const Opaque) }; //~ ERROR layout
 
 fn main() {}
diff --git a/tests/ui/consts/const-size_of_val-align_of_val-extern-type.stderr b/tests/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
index 4c0252123a4..f85893783a4 100644
--- a/tests/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
+++ b/tests/ui/consts/const-size_of_val-align_of_val-extern-type.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: `extern type` does not have known layout
   --> $DIR/const-size_of_val-align_of_val-extern-type.rs:10:31
    |
 LL | const _SIZE: usize = unsafe { size_of_val(&4 as *const i32 as *const Opaque) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `extern type` does not have known layout
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: `extern type` does not have known layout
   --> $DIR/const-size_of_val-align_of_val-extern-type.rs:11:32
    |
 LL | const _ALIGN: usize = unsafe { min_align_of_val(&4 as *const i32 as *const Opaque) };
-   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `extern type` does not have known layout
+   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const-slice-oob.rs b/tests/ui/consts/const-slice-oob.rs
index 09202df72c0..6682c234eaf 100644
--- a/tests/ui/consts/const-slice-oob.rs
+++ b/tests/ui/consts/const-slice-oob.rs
@@ -1,7 +1,6 @@
-const FOO: &'static[u32] = &[1, 2, 3];
+const FOO: &'static [u32] = &[1, 2, 3];
 const BAR: u32 = FOO[5];
-//~^ NOTE index out of bounds: the length is 3 but the index is 5
-//~| ERROR evaluation of constant value failed
+//~^ ERROR index out of bounds: the length is 3 but the index is 5
 
 fn main() {
     let _ = BAR;
diff --git a/tests/ui/consts/const-slice-oob.stderr b/tests/ui/consts/const-slice-oob.stderr
index 30ec340d2a2..13d4a434608 100644
--- a/tests/ui/consts/const-slice-oob.stderr
+++ b/tests/ui/consts/const-slice-oob.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: index out of bounds: the length is 3 but the index is 5
   --> $DIR/const-slice-oob.rs:2:18
    |
 LL | const BAR: u32 = FOO[5];
-   |                  ^^^^^^ index out of bounds: the length is 3 but the index is 5
+   |                  ^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/const-unwrap.rs b/tests/ui/consts/const-unwrap.rs
index d48078a0834..38ebd5dd230 100644
--- a/tests/ui/consts/const-unwrap.rs
+++ b/tests/ui/consts/const-unwrap.rs
@@ -4,12 +4,10 @@
 const FOO: i32 = Some(42i32).unwrap();
 
 const BAR: i32 = Option::<i32>::None.unwrap();
-//~^ ERROR: evaluation of constant value failed
-//~| NOTE: called `Option::unwrap()` on a `None` value
+//~^ ERROR: called `Option::unwrap()` on a `None` value
 
 const BAZ: i32 = Option::<i32>::None.expect("absolutely not!");
-//~^ ERROR: evaluation of constant value failed
-//~| NOTE: absolutely not!
+//~^ ERROR: absolutely not!
 
 fn main() {
     println!("{}", FOO);
diff --git a/tests/ui/consts/const-unwrap.stderr b/tests/ui/consts/const-unwrap.stderr
index 832c95992c8..7b8cc1ca856 100644
--- a/tests/ui/consts/const-unwrap.stderr
+++ b/tests/ui/consts/const-unwrap.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: called `Option::unwrap()` on a `None` value
   --> $DIR/const-unwrap.rs:6:18
    |
 LL | const BAR: i32 = Option::<i32>::None.unwrap();
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: called `Option::unwrap()` on a `None` value
+   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const-unwrap.rs:10:18
+error[E0080]: evaluation panicked: absolutely not!
+  --> $DIR/const-unwrap.rs:9:18
    |
 LL | const BAZ: i32 = Option::<i32>::None.expect("absolutely not!");
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: absolutely not!
+   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const_refs_to_static_fail.rs b/tests/ui/consts/const_refs_to_static_fail.rs
index e1f2262ba29..b8bab91e005 100644
--- a/tests/ui/consts/const_refs_to_static_fail.rs
+++ b/tests/ui/consts/const_refs_to_static_fail.rs
@@ -9,16 +9,13 @@ use std::cell::SyncUnsafeCell;
 static S: SyncUnsafeCell<i32> = SyncUnsafeCell::new(0);
 static mut S_MUT: i32 = 0;
 
-const C1: &SyncUnsafeCell<i32> = &S; //~ERROR undefined behavior
-//~| NOTE encountered reference to mutable memory
+const C1: &SyncUnsafeCell<i32> = &S; //~ERROR encountered reference to mutable memory
 const C1_READ: () = unsafe {
     assert!(*C1.get() == 0);
 };
 const C2: *const i32 = unsafe { std::ptr::addr_of!(S_MUT) };
 const C2_READ: () = unsafe {
-    assert!(*C2 == 0); //~ERROR evaluation of constant value failed
-    //~^ NOTE constant accesses mutable global memory
+    assert!(*C2 == 0); //~ERROR constant accesses mutable global memory
 };
 
-fn main() {
-}
+fn main() {}
diff --git a/tests/ui/consts/const_refs_to_static_fail.stderr b/tests/ui/consts/const_refs_to_static_fail.stderr
index 245806da5c6..bd406941061 100644
--- a/tests/ui/consts/const_refs_to_static_fail.stderr
+++ b/tests/ui/consts/const_refs_to_static_fail.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
   --> $DIR/const_refs_to_static_fail.rs:12:1
    |
 LL | const C1: &SyncUnsafeCell<i32> = &S;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -10,16 +10,16 @@ LL | const C1: &SyncUnsafeCell<i32> = &S;
            }
 
 note: erroneous constant encountered
-  --> $DIR/const_refs_to_static_fail.rs:15:14
+  --> $DIR/const_refs_to_static_fail.rs:14:14
    |
 LL |     assert!(*C1.get() == 0);
    |              ^^
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const_refs_to_static_fail.rs:19:13
+error[E0080]: constant accesses mutable global memory
+  --> $DIR/const_refs_to_static_fail.rs:18:13
    |
 LL |     assert!(*C2 == 0);
-   |             ^^^ constant accesses mutable global memory
+   |             ^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/const_refs_to_static_fail_invalid.rs b/tests/ui/consts/const_refs_to_static_fail_invalid.rs
index f6ccfbfc52f..34ed8540f3f 100644
--- a/tests/ui/consts/const_refs_to_static_fail_invalid.rs
+++ b/tests/ui/consts/const_refs_to_static_fail_invalid.rs
@@ -8,8 +8,7 @@ fn invalid() {
     static S: i8 = 10;
 
     const C: &bool = unsafe { std::mem::transmute(&S) };
-    //~^ERROR: undefined behavior
-    //~| NOTE expected a boolean
+    //~^ERROR: expected a boolean
 
     // This must be rejected here (or earlier), since it's not a valid `&bool`.
     match &true {
@@ -24,8 +23,7 @@ fn extern_() {
     }
 
     const C: &i8 = unsafe { &S };
-    //~^ERROR: undefined behavior
-    //~| NOTE `extern` static
+    //~^ERROR: `extern` static
 
     // This must be rejected here (or earlier), since the pattern cannot be read.
     match &0 {
@@ -38,8 +36,7 @@ fn mutable() {
     static mut S_MUT: i32 = 0;
 
     const C: &i32 = unsafe { &S_MUT };
-    //~^ERROR: undefined behavior
-    //~| NOTE encountered reference to mutable memory
+    //~^ERROR: encountered reference to mutable memory
 
     // This *must not build*, the constant we are matching against
     // could change its value!
diff --git a/tests/ui/consts/const_refs_to_static_fail_invalid.stderr b/tests/ui/consts/const_refs_to_static_fail_invalid.stderr
index e0086e07af7..8a034aa00bc 100644
--- a/tests/ui/consts/const_refs_to_static_fail_invalid.stderr
+++ b/tests/ui/consts/const_refs_to_static_fail_invalid.stderr
@@ -1,30 +1,30 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>: encountered 0x0a, but expected a boolean
   --> $DIR/const_refs_to_static_fail_invalid.rs:10:5
    |
 LL |     const C: &bool = unsafe { std::mem::transmute(&S) };
-   |     ^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered 0x0a, but expected a boolean
+   |     ^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const_refs_to_static_fail_invalid.rs:26:5
+error[E0080]: constructing invalid value: encountered reference to `extern` static in `const`
+  --> $DIR/const_refs_to_static_fail_invalid.rs:25:5
    |
 LL |     const C: &i8 = unsafe { &S };
-   |     ^^^^^^^^^^^^ constructing invalid value: encountered reference to `extern` static in `const`
+   |     ^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const_refs_to_static_fail_invalid.rs:40:5
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/const_refs_to_static_fail_invalid.rs:38:5
    |
 LL |     const C: &i32 = unsafe { &S_MUT };
-   |     ^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   |     ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/const_unsafe_unreachable_ub.rs b/tests/ui/consts/const_unsafe_unreachable_ub.rs
index 76c6c56d7c5..7c6c7a608b8 100644
--- a/tests/ui/consts/const_unsafe_unreachable_ub.rs
+++ b/tests/ui/consts/const_unsafe_unreachable_ub.rs
@@ -8,8 +8,8 @@ const unsafe fn foo(x: bool) -> bool {
 }
 
 const BAR: bool = unsafe { foo(false) };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE entering unreachable code
+//~^ NOTE evaluation of constant value failed
+//~| ERROR entering unreachable code
 
 fn main() {
     assert_eq!(BAR, true);
diff --git a/tests/ui/consts/const_unsafe_unreachable_ub.stderr b/tests/ui/consts/const_unsafe_unreachable_ub.stderr
index 42bf69aded0..116c2198914 100644
--- a/tests/ui/consts/const_unsafe_unreachable_ub.stderr
+++ b/tests/ui/consts/const_unsafe_unreachable_ub.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: entering unreachable code
   --> $DIR/const_unsafe_unreachable_ub.rs:10:28
    |
 LL | const BAR: bool = unsafe { foo(false) };
-   |                            ^^^^^^^^^^ entering unreachable code
+   |                            ^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `foo`
   --> $DIR/const_unsafe_unreachable_ub.rs:4:18
diff --git a/tests/ui/consts/control-flow/assert.rs b/tests/ui/consts/control-flow/assert.rs
index 9d17f65b93c..2c372075137 100644
--- a/tests/ui/consts/control-flow/assert.rs
+++ b/tests/ui/consts/control-flow/assert.rs
@@ -3,6 +3,6 @@
 const _: () = assert!(true);
 
 const _: () = assert!(false);
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR assertion failed
 
 fn main() {}
diff --git a/tests/ui/consts/control-flow/assert.stderr b/tests/ui/consts/control-flow/assert.stderr
index 3fa98b74bf6..95b237959c1 100644
--- a/tests/ui/consts/control-flow/assert.stderr
+++ b/tests/ui/consts/control-flow/assert.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: assertion failed: false
   --> $DIR/assert.rs:5:15
    |
 LL | const _: () = assert!(false);
-   |               ^^^^^^^^^^^^^^ evaluation panicked: assertion failed: false
+   |               ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/copy-intrinsic.rs b/tests/ui/consts/copy-intrinsic.rs
index d0242f28544..480f1c5f460 100644
--- a/tests/ui/consts/copy-intrinsic.rs
+++ b/tests/ui/consts/copy-intrinsic.rs
@@ -1,8 +1,8 @@
 // ignore-tidy-linelength
 #![feature(core_intrinsics)]
 
-use std::mem;
 use std::intrinsics::{copy, copy_nonoverlapping};
+use std::mem;
 
 const COPY_ZERO: () = unsafe {
     // Since we are not copying anything, this should be allowed.
@@ -17,8 +17,7 @@ const COPY_OOB_1: () = unsafe {
     // Zero-sized copy is fine.
     copy_nonoverlapping(0x100 as *const i32, dangle, 0);
     // Non-zero-sized copy is not.
-    copy_nonoverlapping(0x100 as *const i32, dangle, 1); //~ ERROR evaluation of constant value failed [E0080]
-    //~| NOTE which is a dangling pointer
+    copy_nonoverlapping(0x100 as *const i32, dangle, 1); //~ ERROR which is a dangling pointer
 };
 const COPY_OOB_2: () = unsafe {
     let x = 0i32;
@@ -26,22 +25,18 @@ const COPY_OOB_2: () = unsafe {
     // Zero-sized copy is fine.
     copy_nonoverlapping(dangle, 0x100 as *mut i32, 0);
     // Non-zero-sized copy is not.
-    copy_nonoverlapping(dangle, 0x100 as *mut i32, 1); //~ ERROR evaluation of constant value failed [E0080]
-    //~| NOTE is at or beyond the end of the allocation of size 4 bytes
+    copy_nonoverlapping(dangle, 0x100 as *mut i32, 1); //~ ERROR is at or beyond the end of the allocation of size 4 bytes
 };
 
 const COPY_SIZE_OVERFLOW: () = unsafe {
     let x = 0;
     let mut y = 0;
-    copy(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1)); //~ ERROR evaluation of constant value failed [E0080]
-    //~| NOTE overflow computing total size of `copy`
+    copy(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1)); //~ ERROR overflow computing total size of `copy`
 };
 const COPY_NONOVERLAPPING_SIZE_OVERFLOW: () = unsafe {
     let x = 0;
     let mut y = 0;
-    copy_nonoverlapping(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1)); //~ ERROR evaluation of constant value failed [E0080]
-    //~| NOTE overflow computing total size of `copy_nonoverlapping`
+    copy_nonoverlapping(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1)); //~ ERROR overflow computing total size of `copy_nonoverlapping`
 };
 
-fn main() {
-}
+fn main() {}
diff --git a/tests/ui/consts/copy-intrinsic.stderr b/tests/ui/consts/copy-intrinsic.stderr
index 8d586428e56..8d3d2752f60 100644
--- a/tests/ui/consts/copy-intrinsic.stderr
+++ b/tests/ui/consts/copy-intrinsic.stderr
@@ -1,26 +1,26 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: memory access failed: attempting to access 4 bytes, but got 0x100[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/copy-intrinsic.rs:20:5
    |
 LL |     copy_nonoverlapping(0x100 as *const i32, dangle, 1);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got 0x100[noalloc] which is a dangling pointer (it has no provenance)
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/copy-intrinsic.rs:29:5
+error[E0080]: memory access failed: attempting to access 4 bytes, but got ALLOC0+0x28 which is at or beyond the end of the allocation of size 4 bytes
+  --> $DIR/copy-intrinsic.rs:28:5
    |
 LL |     copy_nonoverlapping(dangle, 0x100 as *mut i32, 1);
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: attempting to access 4 bytes, but got ALLOC0+0x28 which is at or beyond the end of the allocation of size 4 bytes
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/copy-intrinsic.rs:36:5
+error[E0080]: overflow computing total size of `copy`
+  --> $DIR/copy-intrinsic.rs:34:5
    |
 LL |     copy(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1));
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflow computing total size of `copy`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/copy-intrinsic.rs:42:5
+error[E0080]: overflow computing total size of `copy_nonoverlapping`
+  --> $DIR/copy-intrinsic.rs:39:5
    |
 LL |     copy_nonoverlapping(&x, &mut y, 1usize << (mem::size_of::<usize>() * 8 - 1));
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflow computing total size of `copy_nonoverlapping`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/consts/dangling-alloc-id-ice.rs b/tests/ui/consts/dangling-alloc-id-ice.rs
index 8e9493c8d28..b77c5971b2b 100644
--- a/tests/ui/consts/dangling-alloc-id-ice.rs
+++ b/tests/ui/consts/dangling-alloc-id-ice.rs
@@ -10,7 +10,7 @@ union Foo<'a> {
 }
 
 const FOO: &() = {
-    //~^ ERROR it is undefined behavior to use this value
+    //~^ ERROR dangling reference
     let y = ();
     unsafe { Foo { y: &y }.long_live_the_unit }
 };
diff --git a/tests/ui/consts/dangling-alloc-id-ice.stderr b/tests/ui/consts/dangling-alloc-id-ice.stderr
index 881c0b162ed..65a46b62dae 100644
--- a/tests/ui/consts/dangling-alloc-id-ice.stderr
+++ b/tests/ui/consts/dangling-alloc-id-ice.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (use-after-free)
   --> $DIR/dangling-alloc-id-ice.rs:12:1
    |
 LL | const FOO: &() = {
-   | ^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (use-after-free)
+   | ^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/dangling-zst-ice-issue-126393.rs b/tests/ui/consts/dangling-zst-ice-issue-126393.rs
index 4beee913a97..6b667fdfd35 100644
--- a/tests/ui/consts/dangling-zst-ice-issue-126393.rs
+++ b/tests/ui/consts/dangling-zst-ice-issue-126393.rs
@@ -5,7 +5,7 @@
 
 pub struct Wrapper;
 pub static MAGIC_FFI_REF: &'static Wrapper = unsafe {
-//~^ERROR: it is undefined behavior to use this value
+    //~^ ERROR: dangling reference
     std::mem::transmute(&{
         let y = 42;
         y
diff --git a/tests/ui/consts/dangling-zst-ice-issue-126393.stderr b/tests/ui/consts/dangling-zst-ice-issue-126393.stderr
index d32b427f14e..2f600e494c4 100644
--- a/tests/ui/consts/dangling-zst-ice-issue-126393.stderr
+++ b/tests/ui/consts/dangling-zst-ice-issue-126393.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a dangling reference (use-after-free)
   --> $DIR/dangling-zst-ice-issue-126393.rs:7:1
    |
 LL | pub static MAGIC_FFI_REF: &'static Wrapper = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a dangling reference (use-after-free)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/eval-enum.rs b/tests/ui/consts/eval-enum.rs
index fa9ad6736e2..ae0296bd4c0 100644
--- a/tests/ui/consts/eval-enum.rs
+++ b/tests/ui/consts/eval-enum.rs
@@ -1,10 +1,8 @@
 enum Test {
-    DivZero = 1/0,
-    //~^ NOTE attempt to divide `1_isize` by zero
-    //~| ERROR evaluation of constant value failed
-    RemZero = 1%0,
-    //~^ NOTE attempt to calculate the remainder of `1_isize` with a divisor of zero
-    //~| ERROR evaluation of constant value failed
+    DivZero = 1 / 0,
+    //~^ ERROR attempt to divide `1_isize` by zero
+    RemZero = 1 % 0,
+    //~^ ERROR attempt to calculate the remainder of `1_isize` with a divisor of zero
 }
 
 fn main() {}
diff --git a/tests/ui/consts/eval-enum.stderr b/tests/ui/consts/eval-enum.stderr
index fb4d903489f..eb55ad2a252 100644
--- a/tests/ui/consts/eval-enum.stderr
+++ b/tests/ui/consts/eval-enum.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to divide `1_isize` by zero
   --> $DIR/eval-enum.rs:2:15
    |
-LL |     DivZero = 1/0,
-   |               ^^^ attempt to divide `1_isize` by zero
+LL |     DivZero = 1 / 0,
+   |               ^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/eval-enum.rs:5:15
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/eval-enum.rs:4:15
    |
-LL |     RemZero = 1%0,
-   |               ^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+LL |     RemZero = 1 % 0,
+   |               ^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/extra-const-ub/detect-extra-ub.rs b/tests/ui/consts/extra-const-ub/detect-extra-ub.rs
index c3bd8301d5c..e17bac603b4 100644
--- a/tests/ui/consts/extra-const-ub/detect-extra-ub.rs
+++ b/tests/ui/consts/extra-const-ub/detect-extra-ub.rs
@@ -28,41 +28,35 @@ enum UninhDiscriminant {
 
 const INVALID_BOOL: () = unsafe {
     let _x: bool = transmute(3u8);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const INVALID_PTR_IN_INT: () = unsafe {
     let _x: usize = transmute(&3u8);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const INVALID_PTR_IN_ENUM: () = unsafe {
     let _x: PtrSizedEnum = transmute(&3u8);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const INVALID_SLICE_TO_USIZE_TRANSMUTE: () = unsafe {
     let x: &[u8] = &[0; 32];
     let _x: (usize, usize) = transmute(x);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const UNALIGNED_PTR: () = unsafe {
     let _x: &u32 = transmute(&[0u8; 4]);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const UNINHABITED_VARIANT: () = unsafe {
     let data = [1u8];
     // Not using transmute, we want to hit the ImmTy code path.
     let v = *addr_of!(data).cast::<UninhDiscriminant>();
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 const PARTIAL_POINTER: () = unsafe {
@@ -81,8 +75,7 @@ const PARTIAL_POINTER: () = unsafe {
     let mem = Packed { pad1: 0, ptr: &0u8 as *const u8, pad2: [0; 7] };
     let mem = Align { p: mem, align: 0 };
     let _val = *(&mem as *const Align as *const [*const u8; 2]);
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE invalid value
+    //[with_flag]~^ ERROR: invalid value
 };
 
 // Regression tests for an ICE (related to <https://github.com/rust-lang/rust/issues/113988>).
@@ -96,8 +89,7 @@ const VALID_ARRAY: [Option<i32>; 0] = { let e = [None; 0]; e };
 const OVERSIZED_REF: () = { unsafe {
     let slice: *const [u8] = transmute((1usize, usize::MAX));
     let _val = &*slice;
-    //[with_flag]~^ ERROR: evaluation of constant value failed
-    //[with_flag]~| NOTE slice is bigger than largest supported object
+    //[with_flag]~^ ERROR: slice is bigger than largest supported object
 } };
 
 fn main() {}
diff --git a/tests/ui/consts/extra-const-ub/detect-extra-ub.with_flag.stderr b/tests/ui/consts/extra-const-ub/detect-extra-ub.with_flag.stderr
index ea3b0e70b82..74669d3d549 100644
--- a/tests/ui/consts/extra-const-ub/detect-extra-ub.with_flag.stderr
+++ b/tests/ui/consts/extra-const-ub/detect-extra-ub.with_flag.stderr
@@ -1,62 +1,62 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: constructing invalid value: encountered 0x03, but expected a boolean
   --> $DIR/detect-extra-ub.rs:30:20
    |
 LL |     let _x: bool = transmute(3u8);
-   |                    ^^^^^^^^^^^^^^ constructing invalid value: encountered 0x03, but expected a boolean
+   |                    ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:36:21
+error[E0080]: constructing invalid value: encountered a pointer, but expected an integer
+  --> $DIR/detect-extra-ub.rs:35:21
    |
 LL |     let _x: usize = transmute(&3u8);
-   |                     ^^^^^^^^^^^^^^^ constructing invalid value: encountered a pointer, but expected an integer
+   |                     ^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:42:28
+error[E0080]: constructing invalid value at .<enum-tag>: encountered a pointer, but expected an integer
+  --> $DIR/detect-extra-ub.rs:40:28
    |
 LL |     let _x: PtrSizedEnum = transmute(&3u8);
-   |                            ^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered a pointer, but expected an integer
+   |                            ^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:49:30
+error[E0080]: constructing invalid value at .0: encountered a pointer, but expected an integer
+  --> $DIR/detect-extra-ub.rs:46:30
    |
 LL |     let _x: (usize, usize) = transmute(x);
-   |                              ^^^^^^^^^^^^ constructing invalid value at .0: encountered a pointer, but expected an integer
+   |                              ^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:55:20
+error[E0080]: constructing invalid value: encountered an unaligned reference (required 4 byte alignment but found 1)
+  --> $DIR/detect-extra-ub.rs:51:20
    |
 LL |     let _x: &u32 = transmute(&[0u8; 4]);
-   |                    ^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered an unaligned reference (required 4 byte alignment but found 1)
+   |                    ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:63:13
+error[E0080]: constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+  --> $DIR/detect-extra-ub.rs:58:13
    |
 LL |     let v = *addr_of!(data).cast::<UninhDiscriminant>();
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<enum-tag>: encountered an uninhabited enum variant
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:83:16
+error[E0080]: constructing invalid value at [0]: encountered a partial pointer or a mix of pointers
+  --> $DIR/detect-extra-ub.rs:77:16
    |
 LL |     let _val = *(&mem as *const Align as *const [*const u8; 2]);
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at [0]: encountered a partial pointer or a mix of pointers
+   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/detect-extra-ub.rs:98:16
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+  --> $DIR/detect-extra-ub.rs:91:16
    |
 LL |     let _val = &*slice;
-   |                ^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   |                ^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/consts/interior-mut-const-via-union.32bit.stderr b/tests/ui/consts/interior-mut-const-via-union.32bit.stderr
index fb06643df85..47bb2e5e879 100644
--- a/tests/ui/consts/interior-mut-const-via-union.32bit.stderr
+++ b/tests/ui/consts/interior-mut-const-via-union.32bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.y.<enum-variant(B)>.0: encountered `UnsafeCell` in read-only memory
   --> $DIR/interior-mut-const-via-union.rs:34:1
    |
 LL | fn main() {
-   | ^^^^^^^^^ constructing invalid value at .<deref>.y.<enum-variant(B)>.0: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
diff --git a/tests/ui/consts/interior-mut-const-via-union.64bit.stderr b/tests/ui/consts/interior-mut-const-via-union.64bit.stderr
index f39ebe0afbd..b4c9a4bd47e 100644
--- a/tests/ui/consts/interior-mut-const-via-union.64bit.stderr
+++ b/tests/ui/consts/interior-mut-const-via-union.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.y.<enum-variant(B)>.0: encountered `UnsafeCell` in read-only memory
   --> $DIR/interior-mut-const-via-union.rs:34:1
    |
 LL | fn main() {
-   | ^^^^^^^^^ constructing invalid value at .<deref>.y.<enum-variant(B)>.0: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
diff --git a/tests/ui/consts/interior-mut-const-via-union.rs b/tests/ui/consts/interior-mut-const-via-union.rs
index 6d40a9ba850..5e624671aee 100644
--- a/tests/ui/consts/interior-mut-const-via-union.rs
+++ b/tests/ui/consts/interior-mut-const-via-union.rs
@@ -31,7 +31,7 @@ const C: S = {
     s
 };
 
-fn main() { //~ ERROR it is undefined behavior to use this value
-    // FIXME the span here is wrong, sould be pointing at the line below, not above.
+fn main() { //~ ERROR encountered `UnsafeCell` in read-only memory
+    // FIXME the span here is wrong, should be pointing at the line below, not above.
     let _: &'static _ = &C;
 }
diff --git a/tests/ui/consts/issue-17718-const-bad-values.rs b/tests/ui/consts/issue-17718-const-bad-values.rs
index 286972365d5..40fc02cf644 100644
--- a/tests/ui/consts/issue-17718-const-bad-values.rs
+++ b/tests/ui/consts/issue-17718-const-bad-values.rs
@@ -9,7 +9,6 @@ const C1: &'static mut [usize] = &mut [];
 
 static mut S: i32 = 3;
 const C2: &'static mut i32 = unsafe { &mut S };
-//~^ ERROR: it is undefined behavior to use this value
-//~| NOTE reference to mutable memory
+//~^ ERROR: reference to mutable memory
 
 fn main() {}
diff --git a/tests/ui/consts/issue-17718-const-bad-values.stderr b/tests/ui/consts/issue-17718-const-bad-values.stderr
index 102491e90ba..effb614b15b 100644
--- a/tests/ui/consts/issue-17718-const-bad-values.stderr
+++ b/tests/ui/consts/issue-17718-const-bad-values.stderr
@@ -4,11 +4,11 @@ error[E0764]: mutable references are not allowed in the final value of constants
 LL | const C1: &'static mut [usize] = &mut [];
    |                                  ^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
   --> $DIR/issue-17718-const-bad-values.rs:11:1
    |
 LL | const C2: &'static mut i32 = unsafe { &mut S };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $PTR, align: $PTR) {
diff --git a/tests/ui/consts/issue-32829.rs b/tests/ui/consts/issue-32829.rs
index 25f323b9803..e02db69c686 100644
--- a/tests/ui/consts/issue-32829.rs
+++ b/tests/ui/consts/issue-32829.rs
@@ -1,5 +1,5 @@
 static S : u64 = { { panic!("foo"); 0 } };
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR evaluation panicked: foo
 
 fn main() {
     println!("{:?}", S);
diff --git a/tests/ui/consts/issue-32829.stderr b/tests/ui/consts/issue-32829.stderr
index 542dce19151..d10942d1e56 100644
--- a/tests/ui/consts/issue-32829.stderr
+++ b/tests/ui/consts/issue-32829.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: evaluation panicked: foo
   --> $DIR/issue-32829.rs:1:22
    |
 LL | static S : u64 = { { panic!("foo"); 0 } };
-   |                      ^^^^^^^^^^^^^ evaluation panicked: foo
+   |                      ^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/issue-63952.32bit.stderr b/tests/ui/consts/issue-63952.32bit.stderr
index f562f9104e3..e5340788167 100644
--- a/tests/ui/consts/issue-63952.32bit.stderr
+++ b/tests/ui/consts/issue-63952.32bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
   --> $DIR/issue-63952.rs:17:1
    |
 LL | const SLICE_WAY_TOO_LONG: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
diff --git a/tests/ui/consts/issue-63952.64bit.stderr b/tests/ui/consts/issue-63952.64bit.stderr
index fe66bec13a1..27e74833fc5 100644
--- a/tests/ui/consts/issue-63952.64bit.stderr
+++ b/tests/ui/consts/issue-63952.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
   --> $DIR/issue-63952.rs:17:1
    |
 LL | const SLICE_WAY_TOO_LONG: &[u8] = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered invalid reference metadata: slice is bigger than largest supported object
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
diff --git a/tests/ui/consts/issue-63952.rs b/tests/ui/consts/issue-63952.rs
index aee06f8eb04..fce6013b4d3 100644
--- a/tests/ui/consts/issue-63952.rs
+++ b/tests/ui/consts/issue-63952.rs
@@ -14,7 +14,7 @@ union SliceTransmute {
 }
 
 // bad slice: length too big to even exist anywhere
-const SLICE_WAY_TOO_LONG: &[u8] = unsafe { //~ ERROR: it is undefined behavior to use this value
+const SLICE_WAY_TOO_LONG: &[u8] = unsafe { //~ ERROR: slice is bigger than largest supported object
     SliceTransmute {
         repr: SliceRepr {
             ptr: &42,
diff --git a/tests/ui/consts/issue-64506.rs b/tests/ui/consts/issue-64506.rs
index 096d29cbe49..8511c1edb30 100644
--- a/tests/ui/consts/issue-64506.rs
+++ b/tests/ui/consts/issue-64506.rs
@@ -14,7 +14,7 @@ const FOO: () = {
         b: (),
     }
     let x = unsafe { Foo { b: () }.a };
-    //~^ ERROR: evaluation of constant value failed
+    //~^ ERROR: value of uninhabited type
     let x = &x.inner;
 };
 
diff --git a/tests/ui/consts/issue-64506.stderr b/tests/ui/consts/issue-64506.stderr
index 4cc2b713741..22b8af9689d 100644
--- a/tests/ui/consts/issue-64506.stderr
+++ b/tests/ui/consts/issue-64506.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: constructing invalid value at .inner: encountered a value of uninhabited type `AnonPipe`
   --> $DIR/issue-64506.rs:16:22
    |
 LL |     let x = unsafe { Foo { b: () }.a };
-   |                      ^^^^^^^^^^^^^^^ constructing invalid value at .inner: encountered a value of uninhabited type `AnonPipe`
+   |                      ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/issue-66693-panic-in-array-len.rs b/tests/ui/consts/issue-66693-panic-in-array-len.rs
index fc0dcd7a44d..2256970e337 100644
--- a/tests/ui/consts/issue-66693-panic-in-array-len.rs
+++ b/tests/ui/consts/issue-66693-panic-in-array-len.rs
@@ -8,7 +8,7 @@ fn main() {
 
     // ensure that conforming panics are handled correctly
     let _ = [false; panic!()];
-    //~^ ERROR: evaluation of constant value failed
+    //~^ ERROR: explicit panic
 
     // typechecking halts before getting to this one
     let _ = ['a', panic!("panic in array len")];
diff --git a/tests/ui/consts/issue-66693-panic-in-array-len.stderr b/tests/ui/consts/issue-66693-panic-in-array-len.stderr
index fdef515b6d4..f475ab0c495 100644
--- a/tests/ui/consts/issue-66693-panic-in-array-len.stderr
+++ b/tests/ui/consts/issue-66693-panic-in-array-len.stderr
@@ -4,11 +4,11 @@ error: argument to `panic!()` in a const context must have type `&str`
 LL |     let _ = [0i32; panic!(2f32)];
    |                    ^^^^^^^^^^^^
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-66693-panic-in-array-len.rs:10:21
    |
 LL |     let _ = [false; panic!()];
-   |                     ^^^^^^^^ evaluation panicked: explicit panic
+   |                     ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/issue-66693.rs b/tests/ui/consts/issue-66693.rs
index 416bd8ec72a..9d82d5a42bd 100644
--- a/tests/ui/consts/issue-66693.rs
+++ b/tests/ui/consts/issue-66693.rs
@@ -14,9 +14,9 @@ const fn _foo() {
 
 // ensure that conforming panics don't cause an error beyond the failure to const eval
 const _: () = panic!();
-//~^ ERROR: evaluation of constant value failed
+//~^ ERROR: explicit panic
 static _BAR: () = panic!("panic in static");
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR panic in static
 
 const fn _bar() {
     panic!("panic in const fn");
diff --git a/tests/ui/consts/issue-66693.stderr b/tests/ui/consts/issue-66693.stderr
index ea657ec34bd..7035f5653c7 100644
--- a/tests/ui/consts/issue-66693.stderr
+++ b/tests/ui/consts/issue-66693.stderr
@@ -10,17 +10,17 @@ error: argument to `panic!()` in a const context must have type `&str`
 LL | static _FOO: () = panic!(true);
    |                   ^^^^^^^^^^^^
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-66693.rs:16:15
    |
 LL | const _: () = panic!();
-   |               ^^^^^^^^ evaluation panicked: explicit panic
+   |               ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: evaluation panicked: panic in static
   --> $DIR/issue-66693.rs:18:19
    |
 LL | static _BAR: () = panic!("panic in static");
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: panic in static
+   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: argument to `panic!()` in a const context must have type `&str`
   --> $DIR/issue-66693.rs:11:5
diff --git a/tests/ui/consts/issue-76064.rs b/tests/ui/consts/issue-76064.rs
index 3c153ad726e..b878629138c 100644
--- a/tests/ui/consts/issue-76064.rs
+++ b/tests/ui/consts/issue-76064.rs
@@ -1,3 +1,3 @@
-struct Bug([u8; panic!("panic")]); //~ ERROR evaluation of constant value failed
+struct Bug([u8; panic!("panic")]); //~ ERROR panic
 
 fn main() {}
diff --git a/tests/ui/consts/issue-76064.stderr b/tests/ui/consts/issue-76064.stderr
index 786d4213f1e..c748678d43a 100644
--- a/tests/ui/consts/issue-76064.stderr
+++ b/tests/ui/consts/issue-76064.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: panic
   --> $DIR/issue-76064.rs:1:17
    |
 LL | struct Bug([u8; panic!("panic")]);
-   |                 ^^^^^^^^^^^^^^^ evaluation panicked: panic
+   |                 ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/issue-79690.64bit.stderr b/tests/ui/consts/issue-79690.64bit.stderr
index d603a1dc291..7488f7b7752 100644
--- a/tests/ui/consts/issue-79690.64bit.stderr
+++ b/tests/ui/consts/issue-79690.64bit.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
   --> $DIR/issue-79690.rs:30:1
    |
 LL | const G: Fat = unsafe { Transmute { t: FOO }.u };
-   | ^^^^^^^^^^^^ constructing invalid value at .1: encountered a dangling reference (going beyond the bounds of its allocation)
+   | ^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 16, align: 8) {
diff --git a/tests/ui/consts/issue-79690.rs b/tests/ui/consts/issue-79690.rs
index 3da4cb73f11..24e3220155d 100644
--- a/tests/ui/consts/issue-79690.rs
+++ b/tests/ui/consts/issue-79690.rs
@@ -28,6 +28,6 @@ const FOO: &dyn Bar = &Foo {
     bar: false,
 };
 const G: Fat = unsafe { Transmute { t: FOO }.u };
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR dangling reference
 
 fn main() {}
diff --git a/tests/ui/consts/issue-miri-1910.rs b/tests/ui/consts/issue-miri-1910.rs
index d194dd3c78b..6eae885ea8a 100644
--- a/tests/ui/consts/issue-miri-1910.rs
+++ b/tests/ui/consts/issue-miri-1910.rs
@@ -5,7 +5,7 @@ const C: () = unsafe {
     let foo = Some(&42 as *const i32);
     let one_and_a_half_pointers = std::mem::size_of::<*const i32>()/2*3;
     (&foo as *const _ as *const u8).add(one_and_a_half_pointers).read();
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR unable to turn pointer into integer
 };
 
 fn main() {
diff --git a/tests/ui/consts/issue-miri-1910.stderr b/tests/ui/consts/issue-miri-1910.stderr
index 52edad0c389..b541895dbcc 100644
--- a/tests/ui/consts/issue-miri-1910.stderr
+++ b/tests/ui/consts/issue-miri-1910.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/issue-miri-1910.rs:7:5
    |
 LL |     (&foo as *const _ as *const u8).add(one_and_a_half_pointers).read();
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/large_const_alloc.rs b/tests/ui/consts/large_const_alloc.rs
index 3573a018630..c5b19dbc17f 100644
--- a/tests/ui/consts/large_const_alloc.rs
+++ b/tests/ui/consts/large_const_alloc.rs
@@ -9,12 +9,12 @@
 const FOO: () = {
     // 128 TiB, unlikely anyone has that much RAM
     let x = [0_u8; (1 << 47) - 1];
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR tried to allocate more memory than available to compiler
 };
 
 static FOO2: () = {
     let x = [0_u8; (1 << 47) - 1];
-    //~^ ERROR could not evaluate static initializer
+    //~^ ERROR tried to allocate more memory than available to compiler
 };
 
 fn main() {
diff --git a/tests/ui/consts/large_const_alloc.stderr b/tests/ui/consts/large_const_alloc.stderr
index f3f3de7af63..a9ef87d6c83 100644
--- a/tests/ui/consts/large_const_alloc.stderr
+++ b/tests/ui/consts/large_const_alloc.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: tried to allocate more memory than available to compiler
   --> $DIR/large_const_alloc.rs:11:13
    |
 LL |     let x = [0_u8; (1 << 47) - 1];
-   |             ^^^^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler
+   |             ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: tried to allocate more memory than available to compiler
   --> $DIR/large_const_alloc.rs:16:13
    |
 LL |     let x = [0_u8; (1 << 47) - 1];
-   |             ^^^^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler
+   |             ^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/miri_unleashed/abi-mismatch.rs b/tests/ui/consts/miri_unleashed/abi-mismatch.rs
index 6a46079b39b..d335991a5e6 100644
--- a/tests/ui/consts/miri_unleashed/abi-mismatch.rs
+++ b/tests/ui/consts/miri_unleashed/abi-mismatch.rs
@@ -9,8 +9,8 @@ const fn call_rust_fn(my_fn: extern "Rust" fn()) {
 }
 
 static VAL: () = call_rust_fn(unsafe { std::mem::transmute(c_fn as extern "C" fn()) });
-//~^ ERROR could not evaluate static initializer
-//~| NOTE calling a function with calling convention "C" using calling convention "Rust"
+//~^ NOTE could not evaluate static initializer
+//~| ERROR calling a function with calling convention "C" using calling convention "Rust"
 
 fn main() {}
 
diff --git a/tests/ui/consts/miri_unleashed/abi-mismatch.stderr b/tests/ui/consts/miri_unleashed/abi-mismatch.stderr
index 7d1fdcce526..d1efbad6fd4 100644
--- a/tests/ui/consts/miri_unleashed/abi-mismatch.stderr
+++ b/tests/ui/consts/miri_unleashed/abi-mismatch.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: calling a function with calling convention "C" using calling convention "Rust"
   --> $DIR/abi-mismatch.rs:11:18
    |
 LL | static VAL: () = call_rust_fn(unsafe { std::mem::transmute(c_fn as extern "C" fn()) });
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calling a function with calling convention "C" using calling convention "Rust"
+   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
    |
 note: inside `call_rust_fn`
   --> $DIR/abi-mismatch.rs:7:5
diff --git a/tests/ui/consts/miri_unleashed/assoc_const.stderr b/tests/ui/consts/miri_unleashed/assoc_const.stderr
index 758f1a25339..9176e2e12fb 100644
--- a/tests/ui/consts/miri_unleashed/assoc_const.stderr
+++ b/tests/ui/consts/miri_unleashed/assoc_const.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `drop_in_place::<Vec<u32>> - shim(Some(Vec<u32>))` failed
+error[E0080]: calling non-const function `<Vec<u32> as Drop>::drop`
   --> $DIR/assoc_const.rs:12:31
    |
 LL |     const F: u32 = (U::X, 42).1;
-   |                               ^ calling non-const function `<Vec<u32> as Drop>::drop`
+   |                               ^ evaluation of `drop_in_place::<Vec<u32>> - shim(Some(Vec<u32>))` failed
    |
 note: inside `drop_in_place::<(Vec<u32>, u32)> - shim(Some((Vec<u32>, u32)))`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
diff --git a/tests/ui/consts/miri_unleashed/assoc_const_2.rs b/tests/ui/consts/miri_unleashed/assoc_const_2.rs
index 1d8ed2065a4..fa8ed682d98 100644
--- a/tests/ui/consts/miri_unleashed/assoc_const_2.rs
+++ b/tests/ui/consts/miri_unleashed/assoc_const_2.rs
@@ -8,7 +8,7 @@ trait Foo {
 }
 
 trait Bar<U: Foo> {
-    const F: u32 = 100 / U::X; //~ ERROR evaluation of `<std::string::String as Bar<std::string::String>>::F` failed
+    const F: u32 = 100 / U::X; //~ ERROR attempt to divide `100_u32` by zero
 }
 
 impl Foo for () {
diff --git a/tests/ui/consts/miri_unleashed/assoc_const_2.stderr b/tests/ui/consts/miri_unleashed/assoc_const_2.stderr
index 5503f8e56f0..54baa4a00ee 100644
--- a/tests/ui/consts/miri_unleashed/assoc_const_2.stderr
+++ b/tests/ui/consts/miri_unleashed/assoc_const_2.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `<std::string::String as Bar<std::string::String>>::F` failed
+error[E0080]: attempt to divide `100_u32` by zero
   --> $DIR/assoc_const_2.rs:11:20
    |
 LL |     const F: u32 = 100 / U::X;
-   |                    ^^^^^^^^^^ attempt to divide `100_u32` by zero
+   |                    ^^^^^^^^^^ evaluation of `<std::string::String as Bar<std::string::String>>::F` failed
 
 note: erroneous constant encountered
   --> $DIR/assoc_const_2.rs:28:13
diff --git a/tests/ui/consts/miri_unleashed/box.rs b/tests/ui/consts/miri_unleashed/box.rs
index 1539083f09c..d361870b58a 100644
--- a/tests/ui/consts/miri_unleashed/box.rs
+++ b/tests/ui/consts/miri_unleashed/box.rs
@@ -6,8 +6,7 @@ fn main() {}
 
 static TEST_BAD: &mut i32 = {
     &mut *(Box::new(0))
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE calling non-const function `Box::<i32>::new`
+    //~^ ERROR calling non-const function `Box::<i32>::new`
 };
 
 //~? WARN skipping const checks
diff --git a/tests/ui/consts/miri_unleashed/box.stderr b/tests/ui/consts/miri_unleashed/box.stderr
index 25cefa036eb..d5db5eca655 100644
--- a/tests/ui/consts/miri_unleashed/box.stderr
+++ b/tests/ui/consts/miri_unleashed/box.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: calling non-const function `Box::<i32>::new`
   --> $DIR/box.rs:8:11
    |
 LL |     &mut *(Box::new(0))
-   |           ^^^^^^^^^^^^^ calling non-const function `Box::<i32>::new`
+   |           ^^^^^^^^^^^^^ could not evaluate static initializer
 
 warning: skipping const checks
    |
diff --git a/tests/ui/consts/miri_unleashed/const_refers_to_static.rs b/tests/ui/consts/miri_unleashed/const_refers_to_static.rs
index c66aaec8c56..6cc67094346 100644
--- a/tests/ui/consts/miri_unleashed/const_refers_to_static.rs
+++ b/tests/ui/consts/miri_unleashed/const_refers_to_static.rs
@@ -8,20 +8,19 @@ use std::sync::atomic::Ordering;
 
 const MUTATE_INTERIOR_MUT: usize = {
     static FOO: AtomicUsize = AtomicUsize::new(0);
-    FOO.fetch_add(1, Ordering::Relaxed) //~ERROR evaluation of constant value failed
+    FOO.fetch_add(1, Ordering::Relaxed) //~ERROR calling non-const function `AtomicUsize::fetch_add`
 };
 
 const READ_INTERIOR_MUT: usize = {
     static FOO: AtomicUsize = AtomicUsize::new(0);
-    unsafe { *(&FOO as *const _ as *const usize) } //~ERROR evaluation of constant value failed
+    unsafe { *(&FOO as *const _ as *const usize) } //~ERROR constant accesses mutable global memory
 };
 
 static mut MUTABLE: u32 = 0;
-const READ_MUT: u32 = unsafe { MUTABLE }; //~ERROR evaluation of constant value failed
+const READ_MUT: u32 = unsafe { MUTABLE }; //~ERROR constant accesses mutable global memory
 
 // Evaluating this does not read anything mutable, but validation does, so this should error.
-const REF_INTERIOR_MUT: &usize = { //~ ERROR undefined behavior
-    //~| NOTE encountered reference to mutable memory
+const REF_INTERIOR_MUT: &usize = { //~ ERROR encountered reference to mutable memory
     static FOO: AtomicUsize = AtomicUsize::new(0);
     unsafe { &*(&FOO as *const _ as *const usize) }
 };
diff --git a/tests/ui/consts/miri_unleashed/const_refers_to_static.stderr b/tests/ui/consts/miri_unleashed/const_refers_to_static.stderr
index f647107094d..7765210c277 100644
--- a/tests/ui/consts/miri_unleashed/const_refers_to_static.stderr
+++ b/tests/ui/consts/miri_unleashed/const_refers_to_static.stderr
@@ -1,26 +1,26 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: calling non-const function `AtomicUsize::fetch_add`
   --> $DIR/const_refers_to_static.rs:11:5
    |
 LL |     FOO.fetch_add(1, Ordering::Relaxed)
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calling non-const function `AtomicUsize::fetch_add`
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: constant accesses mutable global memory
   --> $DIR/const_refers_to_static.rs:16:14
    |
 LL |     unsafe { *(&FOO as *const _ as *const usize) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constant accesses mutable global memory
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: constant accesses mutable global memory
   --> $DIR/const_refers_to_static.rs:20:32
    |
 LL | const READ_MUT: u32 = unsafe { MUTABLE };
-   |                                ^^^^^^^ constant accesses mutable global memory
+   |                                ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
   --> $DIR/const_refers_to_static.rs:23:1
    |
 LL | const REF_INTERIOR_MUT: &usize = {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs b/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
index 86d23d44bff..6c7e7835661 100644
--- a/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
+++ b/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs
@@ -2,7 +2,6 @@
 //@ aux-build:static_cross_crate.rs
 //@ normalize-stderr: "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
 //@ normalize-stderr: "([0-9a-f][0-9a-f] |╾─*ALLOC[0-9]+(\+[a-z0-9]+)?(<imm>)?─*╼ )+ *│.*" -> "HEX_DUMP"
-//@ dont-require-annotations: NOTE
 
 #![feature(half_open_range_patterns_in_slices)]
 #![allow(static_mut_refs)]
@@ -11,26 +10,25 @@ extern crate static_cross_crate;
 
 // Sneaky: reference to a mutable static.
 // Allowing this would be a disaster for pattern matching, we could violate exhaustiveness checking!
-const SLICE_MUT: &[u8; 1] = { //~ ERROR undefined behavior
-    //~| NOTE encountered reference to mutable memory
+const SLICE_MUT: &[u8; 1] = {
+    //~^ ERROR encountered reference to mutable memory
     unsafe { &static_cross_crate::ZERO }
 };
 
-const U8_MUT: &u8 = { //~ ERROR undefined behavior
-    //~| NOTE encountered reference to mutable memory
+const U8_MUT: &u8 = {
+    //~^ ERROR encountered reference to mutable memory
     unsafe { &static_cross_crate::ZERO[0] }
 };
 
 // Also test indirection that reads from other static.
-const U8_MUT2: &u8 = { //~ ERROR undefined behavior
-    //~| NOTE encountered reference to mutable memory
+const U8_MUT2: &u8 = {
+    //~^ ERROR encountered reference to mutable memory
     unsafe { &(*static_cross_crate::ZERO_REF)[0] }
 };
 const U8_MUT3: &u8 = {
     unsafe {
         match static_cross_crate::OPT_ZERO {
-            //~^ ERROR evaluation of constant value failed
-            //~| NOTE constant accesses mutable global memory
+            //~^ ERROR constant accesses mutable global memory
             Some(ref u) => u,
             None => panic!(),
         }
diff --git a/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr b/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
index 4e5052ed470..32f8296e0fc 100644
--- a/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
+++ b/tests/ui/consts/miri_unleashed/const_refers_to_static_cross_crate.stderr
@@ -1,41 +1,41 @@
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const_refers_to_static_cross_crate.rs:14:1
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/const_refers_to_static_cross_crate.rs:13:1
    |
 LL | const SLICE_MUT: &[u8; 1] = {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const_refers_to_static_cross_crate.rs:19:1
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/const_refers_to_static_cross_crate.rs:18:1
    |
 LL | const U8_MUT: &u8 = {
-   | ^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/const_refers_to_static_cross_crate.rs:25:1
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/const_refers_to_static_cross_crate.rs:24:1
    |
 LL | const U8_MUT2: &u8 = {
-   | ^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/const_refers_to_static_cross_crate.rs:31:15
+error[E0080]: constant accesses mutable global memory
+  --> $DIR/const_refers_to_static_cross_crate.rs:30:15
    |
 LL |         match static_cross_crate::OPT_ZERO {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constant accesses mutable global memory
+   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/consts/miri_unleashed/drop.rs b/tests/ui/consts/miri_unleashed/drop.rs
index ff9281358d4..c3b944ce6f1 100644
--- a/tests/ui/consts/miri_unleashed/drop.rs
+++ b/tests/ui/consts/miri_unleashed/drop.rs
@@ -13,8 +13,8 @@ static TEST_OK: () = {
 // The actual error is tested by the error-pattern above.
 static TEST_BAD: () = {
     let _v: Vec<i32> = Vec::new();
-}; //~ ERROR could not evaluate static initializer
-   //~| NOTE calling non-const function `<Vec<i32> as Drop>::drop`
+}; //~ NOTE could not evaluate static initializer
+   //~| ERROR calling non-const function `<Vec<i32> as Drop>::drop`
    //~| NOTE inside `drop_in_place::<Vec<i32>> - shim(Some(Vec<i32>))`
 
 //~? WARN skipping const checks
diff --git a/tests/ui/consts/miri_unleashed/drop.stderr b/tests/ui/consts/miri_unleashed/drop.stderr
index 0286c431279..e075781a15c 100644
--- a/tests/ui/consts/miri_unleashed/drop.stderr
+++ b/tests/ui/consts/miri_unleashed/drop.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: calling non-const function `<Vec<i32> as Drop>::drop`
   --> $DIR/drop.rs:16:1
    |
 LL | };
-   | ^ calling non-const function `<Vec<i32> as Drop>::drop`
+   | ^ could not evaluate static initializer
    |
 note: inside `drop_in_place::<Vec<i32>> - shim(Some(Vec<i32>))`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
diff --git a/tests/ui/consts/miri_unleashed/extern-static.rs b/tests/ui/consts/miri_unleashed/extern-static.rs
index c9d9397518e..e5d3b806487 100644
--- a/tests/ui/consts/miri_unleashed/extern-static.rs
+++ b/tests/ui/consts/miri_unleashed/extern-static.rs
@@ -9,13 +9,11 @@ extern "C" {
 // Make sure we catch accessing extern static.
 static TEST_READ: () = {
     unsafe { let _val = DATA; }
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE cannot access extern static
+    //~^ ERROR cannot access extern static
 };
 static TEST_WRITE: () = {
     unsafe { DATA = 0; }
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE cannot access extern static
+    //~^ ERROR cannot access extern static
 };
 
 // Just creating a reference is fine, as long as we are not reading or writing.
diff --git a/tests/ui/consts/miri_unleashed/extern-static.stderr b/tests/ui/consts/miri_unleashed/extern-static.stderr
index 4dbabbe44a2..44e15f71135 100644
--- a/tests/ui/consts/miri_unleashed/extern-static.stderr
+++ b/tests/ui/consts/miri_unleashed/extern-static.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: cannot access extern static `DATA`
   --> $DIR/extern-static.rs:11:25
    |
 LL |     unsafe { let _val = DATA; }
-   |                         ^^^^ cannot access extern static `DATA`
+   |                         ^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
-  --> $DIR/extern-static.rs:16:14
+error[E0080]: cannot access extern static `DATA`
+  --> $DIR/extern-static.rs:15:14
    |
 LL |     unsafe { DATA = 0; }
-   |              ^^^^^^^^ cannot access extern static `DATA`
+   |              ^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/consts/miri_unleashed/inline_asm.rs b/tests/ui/consts/miri_unleashed/inline_asm.rs
index f1ce613b16e..51297aa6361 100644
--- a/tests/ui/consts/miri_unleashed/inline_asm.rs
+++ b/tests/ui/consts/miri_unleashed/inline_asm.rs
@@ -8,8 +8,7 @@ fn main() {}
 // Make sure we catch executing inline assembly.
 static TEST_BAD: () = {
     unsafe { asm!("nop"); }
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE inline assembly is not supported
+    //~^ ERROR inline assembly is not supported
 };
 
 //~? WARN skipping const checks
diff --git a/tests/ui/consts/miri_unleashed/inline_asm.stderr b/tests/ui/consts/miri_unleashed/inline_asm.stderr
index e9643f02840..df90d848432 100644
--- a/tests/ui/consts/miri_unleashed/inline_asm.stderr
+++ b/tests/ui/consts/miri_unleashed/inline_asm.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: inline assembly is not supported
   --> $DIR/inline_asm.rs:10:14
    |
 LL |     unsafe { asm!("nop"); }
-   |              ^^^^^^^^^^^ inline assembly is not supported
+   |              ^^^^^^^^^^^ could not evaluate static initializer
 
 warning: skipping const checks
    |
diff --git a/tests/ui/consts/miri_unleashed/mutable_references.rs b/tests/ui/consts/miri_unleashed/mutable_references.rs
index 02a35487e8a..63d243f892c 100644
--- a/tests/ui/consts/miri_unleashed/mutable_references.rs
+++ b/tests/ui/consts/miri_unleashed/mutable_references.rs
@@ -11,11 +11,9 @@ use std::sync::atomic::*;
 
 // This requires walking nested statics.
 static FOO: &&mut u32 = &&mut 42;
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE pointing to read-only memory
+//~^ ERROR pointing to read-only memory
 static OH_YES: &mut i32 = &mut 42;
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE pointing to read-only memory
+//~^ ERROR pointing to read-only memory
 static BAR: &mut () = &mut ();
 //~^ ERROR encountered mutable pointer in final value of static
 
@@ -25,12 +23,10 @@ static BOO: &mut Foo<()> = &mut Foo(());
 //~^ ERROR encountered mutable pointer in final value of static
 
 const BLUNT: &mut i32 = &mut 42;
-//~^ ERROR: it is undefined behavior to use this value
-//~| NOTE pointing to read-only memory
+//~^ ERROR: pointing to read-only memory
 
 const SUBTLE: &mut i32 = unsafe {
-    //~^ ERROR: it is undefined behavior to use this value
-    //~| NOTE constructing invalid value: encountered reference to mutable memory in `const`
+    //~^ ERROR: constructing invalid value: encountered reference to mutable memory in `const`
     static mut STATIC: i32 = 0;
     &mut STATIC
 };
@@ -42,14 +38,12 @@ struct Meh {
 }
 unsafe impl Sync for Meh {}
 static MEH: Meh = Meh { x: &UnsafeCell::new(42) };
-//~^ ERROR it is undefined behavior to use this value
-//~| NOTE `UnsafeCell` in read-only memory
+//~^ ERROR `UnsafeCell` in read-only memory
 // Same with a const:
 // the following will never be ok! no interior mut behind consts, because
 // all allocs interned here will be marked immutable.
 const MUH: Meh = Meh {
-    //~^ ERROR it is undefined behavior to use this value
-    //~| NOTE `UnsafeCell` in read-only memory
+    //~^ ERROR `UnsafeCell` in read-only memory
     x: &UnsafeCell::new(42),
 };
 
@@ -60,25 +54,21 @@ unsafe impl Sync for Synced {}
 
 // Make sure we also catch this behind a type-erased `dyn Trait` reference.
 const SNEAKY: &dyn Sync = &Synced { x: UnsafeCell::new(42) };
-//~^ ERROR: it is undefined behavior to use this value
-//~| NOTE `UnsafeCell` in read-only memory
+//~^ ERROR: `UnsafeCell` in read-only memory
 
 // # Check for mutable references to read-only memory
 
 static READONLY: i32 = 0;
 static mut MUT_TO_READONLY: &mut i32 = unsafe { &mut *(&READONLY as *const _ as *mut _) };
-//~^ ERROR: it is undefined behavior to use this value
-//~| NOTE pointing to read-only memory
+//~^ ERROR: pointing to read-only memory
 
 // # Check for consts pointing to mutable memory
 
 static mut MUTABLE: i32 = 42;
-const POINTS_TO_MUTABLE: &i32 = unsafe { &MUTABLE }; //~ ERROR undefined behavior
-//~| NOTE encountered reference to mutable memory
+const POINTS_TO_MUTABLE: &i32 = unsafe { &MUTABLE }; //~ ERROR encountered reference to mutable memory
 static mut MUTABLE_REF: &mut i32 = &mut 42;
 const POINTS_TO_MUTABLE2: &i32 = unsafe { &*MUTABLE_REF };
-//~^ ERROR evaluation of constant value failed
-//~| NOTE accesses mutable global memory
+//~^ ERROR accesses mutable global memory
 
 const POINTS_TO_MUTABLE_INNER: *const i32 = &mut 42 as *mut _ as *const _;
 //~^ ERROR mutable pointer in final value
diff --git a/tests/ui/consts/miri_unleashed/mutable_references.stderr b/tests/ui/consts/miri_unleashed/mutable_references.stderr
index 3049be80adc..3375cc9189a 100644
--- a/tests/ui/consts/miri_unleashed/mutable_references.stderr
+++ b/tests/ui/consts/miri_unleashed/mutable_references.stderr
@@ -1,19 +1,19 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>: encountered mutable reference or box pointing to read-only memory
   --> $DIR/mutable_references.rs:13:1
    |
 LL | static FOO: &&mut u32 = &&mut 42;
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:16:1
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
+  --> $DIR/mutable_references.rs:15:1
    |
 LL | static OH_YES: &mut i32 = &mut 42;
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
@@ -21,126 +21,126 @@ LL | static OH_YES: &mut i32 = &mut 42;
            }
 
 error: encountered mutable pointer in final value of static
-  --> $DIR/mutable_references.rs:19:1
+  --> $DIR/mutable_references.rs:17:1
    |
 LL | static BAR: &mut () = &mut ();
    | ^^^^^^^^^^^^^^^^^^^
 
 error: encountered mutable pointer in final value of static
-  --> $DIR/mutable_references.rs:24:1
+  --> $DIR/mutable_references.rs:22:1
    |
 LL | static BOO: &mut Foo<()> = &mut Foo(());
    | ^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:27:1
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
+  --> $DIR/mutable_references.rs:25:1
    |
 LL | const BLUNT: &mut i32 = &mut 42;
-   | ^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:31:1
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/mutable_references.rs:28:1
    |
 LL | const SUBTLE: &mut i32 = unsafe {
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:44:1
+error[E0080]: constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
+  --> $DIR/mutable_references.rs:40:1
    |
 LL | static MEH: Meh = Meh { x: &UnsafeCell::new(42) };
-   | ^^^^^^^^^^^^^^^ constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:50:1
+error[E0080]: constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
+  --> $DIR/mutable_references.rs:45:1
    |
 LL | const MUH: Meh = Meh {
-   | ^^^^^^^^^^^^^^ constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:62:1
+error[E0080]: constructing invalid value at .<deref>.<dyn-downcast>.x: encountered `UnsafeCell` in read-only memory
+  --> $DIR/mutable_references.rs:56:1
    |
 LL | const SNEAKY: &dyn Sync = &Synced { x: UnsafeCell::new(42) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.<dyn-downcast>.x: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:69:1
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
+  --> $DIR/mutable_references.rs:62:1
    |
 LL | static mut MUT_TO_READONLY: &mut i32 = unsafe { &mut *(&READONLY as *const _ as *mut _) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
-  --> $DIR/mutable_references.rs:76:1
+error[E0080]: constructing invalid value: encountered reference to mutable memory in `const`
+  --> $DIR/mutable_references.rs:68:1
    |
 LL | const POINTS_TO_MUTABLE: &i32 = unsafe { &MUTABLE };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered reference to mutable memory in `const`
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/mutable_references.rs:79:43
+error[E0080]: constant accesses mutable global memory
+  --> $DIR/mutable_references.rs:70:43
    |
 LL | const POINTS_TO_MUTABLE2: &i32 = unsafe { &*MUTABLE_REF };
-   |                                           ^^^^^^^^^^^^^ constant accesses mutable global memory
+   |                                           ^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: encountered mutable pointer in final value of constant
-  --> $DIR/mutable_references.rs:83:1
+  --> $DIR/mutable_references.rs:73:1
    |
 LL | const POINTS_TO_MUTABLE_INNER: *const i32 = &mut 42 as *mut _ as *const _;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: encountered mutable pointer in final value of constant
-  --> $DIR/mutable_references.rs:86:1
+  --> $DIR/mutable_references.rs:76:1
    |
 LL | const POINTS_TO_MUTABLE_INNER2: *const i32 = &mut 42 as *const _;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: encountered mutable pointer in final value of constant
-  --> $DIR/mutable_references.rs:106:1
+  --> $DIR/mutable_references.rs:96:1
    |
 LL | const RAW_MUT_CAST: SyncPtr<i32> = SyncPtr { x: &mut 42 as *mut _ as *const _ };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: encountered mutable pointer in final value of constant
-  --> $DIR/mutable_references.rs:109:1
+  --> $DIR/mutable_references.rs:99:1
    |
 LL | const RAW_MUT_COERCE: SyncPtr<i32> = SyncPtr { x: &mut 0 };
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0594]: cannot assign to `*OH_YES`, as `OH_YES` is an immutable static item
-  --> $DIR/mutable_references.rs:116:5
+  --> $DIR/mutable_references.rs:106:5
    |
 LL |     *OH_YES = 99;
    |     ^^^^^^^^^^^^ cannot assign
@@ -153,67 +153,67 @@ help: skipping check that does not even have a feature gate
 LL | static FOO: &&mut u32 = &&mut 42;
    |                          ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:16:27
+  --> $DIR/mutable_references.rs:15:27
    |
 LL | static OH_YES: &mut i32 = &mut 42;
    |                           ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:19:23
+  --> $DIR/mutable_references.rs:17:23
    |
 LL | static BAR: &mut () = &mut ();
    |                       ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:24:28
+  --> $DIR/mutable_references.rs:22:28
    |
 LL | static BOO: &mut Foo<()> = &mut Foo(());
    |                            ^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:27:25
+  --> $DIR/mutable_references.rs:25:25
    |
 LL | const BLUNT: &mut i32 = &mut 42;
    |                         ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:44:28
+  --> $DIR/mutable_references.rs:40:28
    |
 LL | static MEH: Meh = Meh { x: &UnsafeCell::new(42) };
    |                            ^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:53:8
+  --> $DIR/mutable_references.rs:47:8
    |
 LL |     x: &UnsafeCell::new(42),
    |        ^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:62:27
+  --> $DIR/mutable_references.rs:56:27
    |
 LL | const SNEAKY: &dyn Sync = &Synced { x: UnsafeCell::new(42) };
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:83:45
+  --> $DIR/mutable_references.rs:73:45
    |
 LL | const POINTS_TO_MUTABLE_INNER: *const i32 = &mut 42 as *mut _ as *const _;
    |                                             ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:86:46
+  --> $DIR/mutable_references.rs:76:46
    |
 LL | const POINTS_TO_MUTABLE_INNER2: *const i32 = &mut 42 as *const _;
    |                                              ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:91:47
+  --> $DIR/mutable_references.rs:81:47
    |
 LL | const INTERIOR_MUTABLE_BEHIND_RAW: *mut i32 = &UnsafeCell::new(42) as *const _ as *mut _;
    |                                               ^^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:103:51
+  --> $DIR/mutable_references.rs:93:51
    |
 LL | const RAW_SYNC: SyncPtr<AtomicI32> = SyncPtr { x: &AtomicI32::new(42) };
    |                                                   ^^^^^^^^^^^^^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:106:49
+  --> $DIR/mutable_references.rs:96:49
    |
 LL | const RAW_MUT_CAST: SyncPtr<i32> = SyncPtr { x: &mut 42 as *mut _ as *const _ };
    |                                                 ^^^^^^^
 help: skipping check that does not even have a feature gate
-  --> $DIR/mutable_references.rs:109:51
+  --> $DIR/mutable_references.rs:99:51
    |
 LL | const RAW_MUT_COERCE: SyncPtr<i32> = SyncPtr { x: &mut 0 };
    |                                                   ^^^^^^
diff --git a/tests/ui/consts/miri_unleashed/mutating_global.rs b/tests/ui/consts/miri_unleashed/mutating_global.rs
index 77781360374..9a88f584a58 100644
--- a/tests/ui/consts/miri_unleashed/mutating_global.rs
+++ b/tests/ui/consts/miri_unleashed/mutating_global.rs
@@ -7,8 +7,7 @@ static mut GLOBAL: i32 = 0;
 static MUTATING_GLOBAL: () = {
     unsafe {
         GLOBAL = 99
-        //~^ ERROR could not evaluate static initializer
-        //~| NOTE modifying a static's initial value
+        //~^ ERROR modifying a static's initial value
     }
 };
 
diff --git a/tests/ui/consts/miri_unleashed/mutating_global.stderr b/tests/ui/consts/miri_unleashed/mutating_global.stderr
index c38e2d44d89..bbf82543387 100644
--- a/tests/ui/consts/miri_unleashed/mutating_global.stderr
+++ b/tests/ui/consts/miri_unleashed/mutating_global.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/mutating_global.rs:9:9
    |
 LL |         GLOBAL = 99
-   |         ^^^^^^^^^^^ modifying a static's initial value from another static's initializer
+   |         ^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/miri_unleashed/non_const_fn.rs b/tests/ui/consts/miri_unleashed/non_const_fn.rs
index 201647ac8d8..18bee124db4 100644
--- a/tests/ui/consts/miri_unleashed/non_const_fn.rs
+++ b/tests/ui/consts/miri_unleashed/non_const_fn.rs
@@ -5,8 +5,7 @@
 fn foo() {}
 
 static C: () = foo();
-//~^ ERROR could not evaluate static initializer
-//~| NOTE calling non-const function `foo`
+//~^ ERROR calling non-const function `foo`
 
 fn main() {}
 
diff --git a/tests/ui/consts/miri_unleashed/non_const_fn.stderr b/tests/ui/consts/miri_unleashed/non_const_fn.stderr
index cc893896ecf..54e3ed9361a 100644
--- a/tests/ui/consts/miri_unleashed/non_const_fn.stderr
+++ b/tests/ui/consts/miri_unleashed/non_const_fn.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: calling non-const function `foo`
   --> $DIR/non_const_fn.rs:7:16
    |
 LL | static C: () = foo();
-   |                ^^^^^ calling non-const function `foo`
+   |                ^^^^^ could not evaluate static initializer
 
 warning: skipping const checks
    |
diff --git a/tests/ui/consts/miri_unleashed/ptr_arith.rs b/tests/ui/consts/miri_unleashed/ptr_arith.rs
index 408aa5db24d..3f34102833b 100644
--- a/tests/ui/consts/miri_unleashed/ptr_arith.rs
+++ b/tests/ui/consts/miri_unleashed/ptr_arith.rs
@@ -5,16 +5,14 @@
 
 static PTR_INT_CAST: () = {
     let x = &0 as *const _ as usize;
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE exposing pointers
+    //~^ ERROR exposing pointers
     let _v = x == x;
 };
 
 static PTR_INT_TRANSMUTE: () = unsafe {
     let x: usize = std::mem::transmute(&0);
     let _v = x + 0;
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE unable to turn pointer into integer
+    //~^ ERROR unable to turn pointer into integer
 };
 
 // I'd love to test pointer comparison, but that is not possible since
diff --git a/tests/ui/consts/miri_unleashed/ptr_arith.stderr b/tests/ui/consts/miri_unleashed/ptr_arith.stderr
index 213966f90b8..3092ab64795 100644
--- a/tests/ui/consts/miri_unleashed/ptr_arith.stderr
+++ b/tests/ui/consts/miri_unleashed/ptr_arith.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: exposing pointers is not possible at compile-time
   --> $DIR/ptr_arith.rs:7:13
    |
 LL |     let x = &0 as *const _ as usize;
-   |             ^^^^^^^^^^^^^^^^^^^^^^^ exposing pointers is not possible at compile-time
+   |             ^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
-  --> $DIR/ptr_arith.rs:15:14
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/ptr_arith.rs:14:14
    |
 LL |     let _v = x + 0;
-   |              ^ unable to turn pointer into integer
+   |              ^ could not evaluate static initializer
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
diff --git a/tests/ui/consts/miri_unleashed/static-no-inner-mut.32bit.stderr b/tests/ui/consts/miri_unleashed/static-no-inner-mut.32bit.stderr
index 88a734bc241..1ef20689985 100644
--- a/tests/ui/consts/miri_unleashed/static-no-inner-mut.32bit.stderr
+++ b/tests/ui/consts/miri_unleashed/static-no-inner-mut.32bit.stderr
@@ -1,41 +1,41 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
   --> $DIR/static-no-inner-mut.rs:8:1
    |
 LL | static REF: &AtomicI32 = &AtomicI32::new(42);
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC0╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
   --> $DIR/static-no-inner-mut.rs:11:1
    |
 LL | static REFMUT: &mut i32 = &mut 0;
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC1╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
   --> $DIR/static-no-inner-mut.rs:15:1
    |
 LL | static REF2: &AtomicI32 = {let x = AtomicI32::new(42); &{x}};
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                ╾ALLOC2╼                                     │ ╾──╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
   --> $DIR/static-no-inner-mut.rs:17:1
    |
 LL | static REFMUT2: &mut i32 = {let mut x = 0; &mut {x}};
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
diff --git a/tests/ui/consts/miri_unleashed/static-no-inner-mut.64bit.stderr b/tests/ui/consts/miri_unleashed/static-no-inner-mut.64bit.stderr
index c4f3903e143..06f78e679b1 100644
--- a/tests/ui/consts/miri_unleashed/static-no-inner-mut.64bit.stderr
+++ b/tests/ui/consts/miri_unleashed/static-no-inner-mut.64bit.stderr
@@ -1,41 +1,41 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
   --> $DIR/static-no-inner-mut.rs:8:1
    |
 LL | static REF: &AtomicI32 = &AtomicI32::new(42);
-   | ^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC0╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
   --> $DIR/static-no-inner-mut.rs:11:1
    |
 LL | static REFMUT: &mut i32 = &mut 0;
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC1╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
   --> $DIR/static-no-inner-mut.rs:15:1
    |
 LL | static REF2: &AtomicI32 = {let x = AtomicI32::new(42); &{x}};
-   | ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .<deref>.v: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
                ╾ALLOC2╼                         │ ╾──────╼
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered mutable reference or box pointing to read-only memory
   --> $DIR/static-no-inner-mut.rs:17:1
    |
 LL | static REFMUT2: &mut i32 = {let mut x = 0; &mut {x}};
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered mutable reference or box pointing to read-only memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 8) {
diff --git a/tests/ui/consts/miri_unleashed/static-no-inner-mut.rs b/tests/ui/consts/miri_unleashed/static-no-inner-mut.rs
index 7fa173d8d9d..0e87442f6a6 100644
--- a/tests/ui/consts/miri_unleashed/static-no-inner-mut.rs
+++ b/tests/ui/consts/miri_unleashed/static-no-inner-mut.rs
@@ -6,16 +6,16 @@
 use std::sync::atomic::*;
 
 static REF: &AtomicI32 = &AtomicI32::new(42);
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR `UnsafeCell` in read-only memory
 
 static REFMUT: &mut i32 = &mut 0;
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR mutable reference or box pointing to read-only memory
 
 // Different way of writing this that avoids promotion.
 static REF2: &AtomicI32 = {let x = AtomicI32::new(42); &{x}};
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR `UnsafeCell` in read-only memory
 static REFMUT2: &mut i32 = {let mut x = 0; &mut {x}};
-//~^ ERROR it is undefined behavior to use this value
+//~^ ERROR mutable reference or box pointing to read-only memory
 
 // This one is obvious, since it is non-Sync. (It also suppresses the other errors, so it is
 // commented out.)
diff --git a/tests/ui/consts/miri_unleashed/tls.rs b/tests/ui/consts/miri_unleashed/tls.rs
index ab23a524998..8f8a1bd9618 100644
--- a/tests/ui/consts/miri_unleashed/tls.rs
+++ b/tests/ui/consts/miri_unleashed/tls.rs
@@ -9,8 +9,7 @@ static A: u8 = 0;
 // Make sure we catch accessing thread-local storage.
 static TEST_BAD: () = {
     unsafe { let _val = A; }
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE cannot access thread local static
+    //~^ ERROR cannot access thread local static
 };
 
 // Make sure we catch taking a reference to thread-local storage.
@@ -18,8 +17,7 @@ static TEST_BAD: () = {
 // sense at compile-time.
 static TEST_BAD_REF: () = {
     unsafe { let _val = &A; }
-    //~^ ERROR could not evaluate static initializer
-    //~| NOTE cannot access thread local static
+    //~^ ERROR cannot access thread local static
 };
 
 fn main() {}
diff --git a/tests/ui/consts/miri_unleashed/tls.stderr b/tests/ui/consts/miri_unleashed/tls.stderr
index ef836544303..68b6e0745f3 100644
--- a/tests/ui/consts/miri_unleashed/tls.stderr
+++ b/tests/ui/consts/miri_unleashed/tls.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: cannot access thread local static `A`
   --> $DIR/tls.rs:11:25
    |
 LL |     unsafe { let _val = A; }
-   |                         ^ cannot access thread local static `A`
+   |                         ^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
-  --> $DIR/tls.rs:20:26
+error[E0080]: cannot access thread local static `A`
+  --> $DIR/tls.rs:19:26
    |
 LL |     unsafe { let _val = &A; }
-   |                          ^ cannot access thread local static `A`
+   |                          ^ could not evaluate static initializer
 
 warning: skipping const checks
    |
@@ -18,7 +18,7 @@ help: skipping check that does not even have a feature gate
 LL |     unsafe { let _val = A; }
    |                         ^
 help: skipping check that does not even have a feature gate
-  --> $DIR/tls.rs:20:26
+  --> $DIR/tls.rs:19:26
    |
 LL |     unsafe { let _val = &A; }
    |                          ^
diff --git a/tests/ui/consts/missing_span_in_backtrace.rs b/tests/ui/consts/missing_span_in_backtrace.rs
index 490eb57c24d..893dc321604 100644
--- a/tests/ui/consts/missing_span_in_backtrace.rs
+++ b/tests/ui/consts/missing_span_in_backtrace.rs
@@ -11,7 +11,7 @@ const X: () = {
 
     // Swap them, bytewise.
     unsafe {
-        ptr::swap_nonoverlapping( //~ ERROR evaluation of constant value failed
+        ptr::swap_nonoverlapping( //~ ERROR unable to copy parts of a pointer
             &mut ptr1 as *mut _ as *mut MaybeUninit<u8>,
             &mut ptr2 as *mut _ as *mut MaybeUninit<u8>,
             mem::size_of::<&i32>(),
diff --git a/tests/ui/consts/missing_span_in_backtrace.stderr b/tests/ui/consts/missing_span_in_backtrace.stderr
index f802138c613..f2fc689078a 100644
--- a/tests/ui/consts/missing_span_in_backtrace.stderr
+++ b/tests/ui/consts/missing_span_in_backtrace.stderr
@@ -1,4 +1,4 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to copy parts of a pointer from memory at ALLOC0
   --> $DIR/missing_span_in_backtrace.rs:14:9
    |
 14 | /         ptr::swap_nonoverlapping(
@@ -6,16 +6,16 @@ error[E0080]: evaluation of constant value failed
 16 | |             &mut ptr2 as *mut _ as *mut MaybeUninit<u8>,
 17 | |             mem::size_of::<&i32>(),
 18 | |         );
-   | |_________^ unable to copy parts of a pointer from memory at ALLOC0
+   | |_________^ evaluation of constant value failed
    |
+   = help: this code performed an operation that depends on the underlying bytes representing a pointer
+   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 note: inside `swap_nonoverlapping::compiletime::<MaybeUninit<u8>>`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
 note: inside `std::ptr::swap_nonoverlapping_const::<MaybeUninit<u8>>`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
 note: inside `std::ptr::copy_nonoverlapping::<MaybeUninit<u8>>`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-   = help: this code performed an operation that depends on the underlying bytes representing a pointer
-   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/mono-reachable-invalid-const.rs b/tests/ui/consts/mono-reachable-invalid-const.rs
index aabdb071bc9..aba41dabe71 100644
--- a/tests/ui/consts/mono-reachable-invalid-const.rs
+++ b/tests/ui/consts/mono-reachable-invalid-const.rs
@@ -5,7 +5,7 @@ struct Bar<const BITS: usize>;
 impl<const BITS: usize> Bar<BITS> {
     const ASSERT: bool = {
         let b = std::convert::identity(1);
-        ["oops"][b]; //~ ERROR evaluation of `Bar::<0>::ASSERT` failed
+        ["oops"][b]; //~ ERROR index out of bounds: the length is 1 but the index is 1
         true
     };
 
@@ -17,7 +17,6 @@ impl<const BITS: usize> Bar<BITS> {
     }
 }
 
-
 fn main() {
     Bar::<0>::assert();
 }
diff --git a/tests/ui/consts/mono-reachable-invalid-const.stderr b/tests/ui/consts/mono-reachable-invalid-const.stderr
index 6b7b25b59b8..c0e18766023 100644
--- a/tests/ui/consts/mono-reachable-invalid-const.stderr
+++ b/tests/ui/consts/mono-reachable-invalid-const.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Bar::<0>::ASSERT` failed
+error[E0080]: index out of bounds: the length is 1 but the index is 1
   --> $DIR/mono-reachable-invalid-const.rs:8:9
    |
 LL |         ["oops"][b];
-   |         ^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
+   |         ^^^^^^^^^^^ evaluation of `Bar::<0>::ASSERT` failed
 
 note: erroneous constant encountered
   --> $DIR/mono-reachable-invalid-const.rs:13:19
@@ -19,7 +19,7 @@ LL |         let val = Self::ASSERT;
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 
 note: the above error was encountered while instantiating `fn Bar::<0>::assert`
-  --> $DIR/mono-reachable-invalid-const.rs:22:5
+  --> $DIR/mono-reachable-invalid-const.rs:21:5
    |
 LL |     Bar::<0>::assert();
    |     ^^^^^^^^^^^^^^^^^^
diff --git a/tests/ui/consts/no-ice-from-static-in-const-issue-52060.rs b/tests/ui/consts/no-ice-from-static-in-const-issue-52060.rs
index e3cd8ec7d8a..2ad5d18d72d 100644
--- a/tests/ui/consts/no-ice-from-static-in-const-issue-52060.rs
+++ b/tests/ui/consts/no-ice-from-static-in-const-issue-52060.rs
@@ -3,7 +3,6 @@
 
 static mut A: &'static [u32] = &[1];
 static B: [u32; 1] = [0; unsafe { A.len() }];
-//~^ ERROR: evaluation of constant value failed
-//~| NOTE mutable global memory
+//~^ ERROR: mutable global memory
 
 fn main() {}
diff --git a/tests/ui/consts/no-ice-from-static-in-const-issue-52060.stderr b/tests/ui/consts/no-ice-from-static-in-const-issue-52060.stderr
index ca4d3224ec7..ca40b347af8 100644
--- a/tests/ui/consts/no-ice-from-static-in-const-issue-52060.stderr
+++ b/tests/ui/consts/no-ice-from-static-in-const-issue-52060.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: constant accesses mutable global memory
   --> $DIR/no-ice-from-static-in-const-issue-52060.rs:5:35
    |
 LL | static B: [u32; 1] = [0; unsafe { A.len() }];
-   |                                   ^ constant accesses mutable global memory
+   |                                   ^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/offset_from_ub.rs b/tests/ui/consts/offset_from_ub.rs
index 47511c0343d..ccbe591f97e 100644
--- a/tests/ui/consts/offset_from_ub.rs
+++ b/tests/ui/consts/offset_from_ub.rs
@@ -17,28 +17,30 @@ pub const DIFFERENT_ALLOC: usize = {
     let base_ptr: *const Struct = &uninit as *const _ as *const Struct;
     let uninit2 = std::mem::MaybeUninit::<Struct>::uninit();
     let field_ptr: *const Struct = &uninit2 as *const _ as *const Struct;
-    let offset = unsafe { ptr_offset_from(field_ptr, base_ptr) }; //~ERROR evaluation of constant value failed
-    //~| NOTE not both derived from the same allocation
+    let offset = unsafe { ptr_offset_from(field_ptr, base_ptr) };
+    //~^ ERROR not both derived from the same allocation
     offset as usize
 };
 
 pub const NOT_PTR: usize = {
-    unsafe { (42 as *const u8).offset_from(&5u8) as usize } //~ ERROR evaluation of constant value failed
+    unsafe { (42 as *const u8).offset_from(&5u8) as usize }
+    //~^ ERROR not both derived from the same allocation
 };
 
 pub const NOT_MULTIPLE_OF_SIZE: isize = {
     let data = [5u8, 6, 7];
     let base_ptr = data.as_ptr();
     let field_ptr = &data[1] as *const u8 as *const u16;
-    unsafe { ptr_offset_from(field_ptr, base_ptr as *const u16) } //~ERROR evaluation of constant value failed
-    //~| NOTE 1_isize cannot be divided by 2_isize without remainder
+    unsafe { ptr_offset_from(field_ptr, base_ptr as *const u16) }
+    //~^ ERROR 1_isize cannot be divided by 2_isize without remainder
 };
 
-pub const DIFFERENT_INT: isize = { // offset_from with two different integers: like DIFFERENT_ALLOC
+pub const DIFFERENT_INT: isize = {
+    // offset_from with two different integers: like DIFFERENT_ALLOC
     let ptr1 = 8 as *const u8;
     let ptr2 = 16 as *const u8;
-    unsafe { ptr_offset_from(ptr2, ptr1) } //~ERROR evaluation of constant value failed
-    //~| NOTE not both derived from the same allocation
+    unsafe { ptr_offset_from(ptr2, ptr1) }
+    //~^ ERROR not both derived from the same allocation
 };
 
 const OUT_OF_BOUNDS_1: isize = {
@@ -46,8 +48,8 @@ const OUT_OF_BOUNDS_1: isize = {
     let length = 10;
     let end_ptr = (start_ptr).wrapping_add(length);
     // First ptr is out of bounds
-    unsafe { ptr_offset_from(end_ptr, start_ptr) } //~ERROR evaluation of constant value failed
-    //~| NOTE the memory range between them is not in-bounds of an allocation
+    unsafe { ptr_offset_from(end_ptr, start_ptr) }
+    //~^ ERROR the memory range between them is not in-bounds of an allocation
 };
 
 const OUT_OF_BOUNDS_2: isize = {
@@ -55,8 +57,8 @@ const OUT_OF_BOUNDS_2: isize = {
     let length = 10;
     let end_ptr = (start_ptr).wrapping_add(length);
     // Second ptr is out of bounds
-    unsafe { ptr_offset_from(start_ptr, end_ptr) } //~ERROR evaluation of constant value failed
-    //~| NOTE the memory range between them is not in-bounds of an allocation
+    unsafe { ptr_offset_from(start_ptr, end_ptr) }
+    //~^ ERROR the memory range between them is not in-bounds of an allocation
 };
 
 pub const DIFFERENT_ALLOC_UNSIGNED: usize = {
@@ -64,43 +66,42 @@ pub const DIFFERENT_ALLOC_UNSIGNED: usize = {
     let base_ptr: *const Struct = &uninit as *const _ as *const Struct;
     let uninit2 = std::mem::MaybeUninit::<Struct>::uninit();
     let field_ptr: *const Struct = &uninit2 as *const _ as *const Struct;
-    unsafe { ptr_offset_from_unsigned(field_ptr, base_ptr) } //~ERROR evaluation of constant value failed
-    //~| NOTE not both derived from the same allocation
+    unsafe { ptr_offset_from_unsigned(field_ptr, base_ptr) }
+    //~^ ERROR not both derived from the same allocation
 };
 
 pub const TOO_FAR_APART1: isize = {
     let ptr1 = &0u8 as *const u8;
     let ptr2 = ptr1.wrapping_add(isize::MAX as usize + 42);
-    unsafe { ptr_offset_from(ptr2, ptr1) } //~ERROR evaluation of constant value failed
-    //~| NOTE too far ahead
+    unsafe { ptr_offset_from(ptr2, ptr1) }
+    //~^ ERROR too far ahead
 };
 pub const TOO_FAR_APART2: isize = {
     let ptr1 = &0u8 as *const u8;
     let ptr2 = ptr1.wrapping_add(isize::MAX as usize + 42);
-    unsafe { ptr_offset_from(ptr1, ptr2) } //~ERROR evaluation of constant value failed
-    //~| NOTE too far before
+    unsafe { ptr_offset_from(ptr1, ptr2) }
+    //~^ ERROR too far before
 };
 pub const TOO_FAR_APART3: isize = {
     let ptr1 = &0u8 as *const u8;
     let ptr2 = ptr1.wrapping_offset(isize::MIN);
     // The result of this would be `isize::MIN`, which *does* fit in an `isize`, but its
     // absolute value does not. (Also anyway there cannot be an allocation of that size.)
-    unsafe { ptr_offset_from(ptr1, ptr2) } //~ERROR evaluation of constant value failed
-    //~| NOTE too far before
+    unsafe { ptr_offset_from(ptr1, ptr2) }
+    //~^ ERROR too far before
 };
 
 const WRONG_ORDER_UNSIGNED: usize = {
     let a = ['a', 'b', 'c'];
     let p = a.as_ptr();
-    unsafe { ptr_offset_from_unsigned(p, p.add(2) ) } //~ERROR evaluation of constant value failed
-    //~| NOTE first pointer has smaller offset than second: 0 < 8
+    unsafe { ptr_offset_from_unsigned(p, p.add(2)) }
+    //~^ ERROR first pointer has smaller offset than second: 0 < 8
 };
 pub const TOO_FAR_APART_UNSIGNED: usize = {
     let ptr1 = &0u8 as *const u8;
     let ptr2 = ptr1.wrapping_add(isize::MAX as usize + 42);
     // This would fit into a `usize` but we still don't allow it.
-    unsafe { ptr_offset_from_unsigned(ptr2, ptr1) } //~ERROR evaluation of constant value failed
-    //~| NOTE too far ahead
+    unsafe { ptr_offset_from_unsigned(ptr2, ptr1) } //~ERROR too far ahead
 };
 
 // These do NOT complain that pointers are too far apart; they pass that check (to then fail the
@@ -109,13 +110,13 @@ pub const OFFSET_VERY_FAR1: isize = {
     let ptr1 = ptr::null::<u8>();
     let ptr2 = ptr1.wrapping_offset(isize::MAX);
     unsafe { ptr2.offset_from(ptr1) }
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR called on two different pointers that are not both derived from the same allocation
 };
 pub const OFFSET_VERY_FAR2: isize = {
     let ptr1 = ptr::null::<u8>();
     let ptr2 = ptr1.wrapping_offset(isize::MAX);
     unsafe { ptr1.offset_from(ptr2.wrapping_offset(1)) }
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR ptr_offset_from` called when first pointer is too far before second
 };
 
 // If the pointers are the same, OOB/null/UAF is fine.
diff --git a/tests/ui/consts/offset_from_ub.stderr b/tests/ui/consts/offset_from_ub.stderr
index 5bfb9a1170c..134da19d81e 100644
--- a/tests/ui/consts/offset_from_ub.stderr
+++ b/tests/ui/consts/offset_from_ub.stderr
@@ -1,92 +1,92 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
   --> $DIR/offset_from_ub.rs:20:27
    |
 LL |     let offset = unsafe { ptr_offset_from(field_ptr, base_ptr) };
-   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
   --> $DIR/offset_from_ub.rs:26:14
    |
 LL |     unsafe { (42 as *const u8).offset_from(&5u8) as usize }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::ptr::const_ptr::<impl *const u8>::offset_from`
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:33:14
+error[E0080]: exact_div: 1_isize cannot be divided by 2_isize without remainder
+  --> $DIR/offset_from_ub.rs:34:14
    |
 LL |     unsafe { ptr_offset_from(field_ptr, base_ptr as *const u16) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ exact_div: 1_isize cannot be divided by 2_isize without remainder
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:40:14
+error[E0080]: `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+  --> $DIR/offset_from_ub.rs:42:14
    |
 LL |     unsafe { ptr_offset_from(ptr2, ptr1) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:49:14
+error[E0080]: `ptr_offset_from` called on two different pointers where the memory range between them is not in-bounds of an allocation
+  --> $DIR/offset_from_ub.rs:51:14
    |
 LL |     unsafe { ptr_offset_from(end_ptr, start_ptr) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers where the memory range between them is not in-bounds of an allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:58:14
+error[E0080]: `ptr_offset_from` called on two different pointers where the memory range between them is not in-bounds of an allocation
+  --> $DIR/offset_from_ub.rs:60:14
    |
 LL |     unsafe { ptr_offset_from(start_ptr, end_ptr) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers where the memory range between them is not in-bounds of an allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:67:14
+error[E0080]: `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
+  --> $DIR/offset_from_ub.rs:69:14
    |
 LL |     unsafe { ptr_offset_from_unsigned(field_ptr, base_ptr) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on two different pointers that are not both derived from the same allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:74:14
+error[E0080]: `ptr_offset_from` called when first pointer is too far ahead of second
+  --> $DIR/offset_from_ub.rs:76:14
    |
 LL |     unsafe { ptr_offset_from(ptr2, ptr1) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called when first pointer is too far ahead of second
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:80:14
+error[E0080]: `ptr_offset_from` called when first pointer is too far before second
+  --> $DIR/offset_from_ub.rs:82:14
    |
 LL |     unsafe { ptr_offset_from(ptr1, ptr2) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called when first pointer is too far before second
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:88:14
+error[E0080]: `ptr_offset_from` called when first pointer is too far before second
+  --> $DIR/offset_from_ub.rs:90:14
    |
 LL |     unsafe { ptr_offset_from(ptr1, ptr2) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called when first pointer is too far before second
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:95:14
+error[E0080]: `ptr_offset_from_unsigned` called when first pointer has smaller offset than second: 0 < 8
+  --> $DIR/offset_from_ub.rs:97:14
    |
-LL |     unsafe { ptr_offset_from_unsigned(p, p.add(2) ) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer has smaller offset than second: 0 < 8
+LL |     unsafe { ptr_offset_from_unsigned(p, p.add(2)) }
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:102:14
+error[E0080]: `ptr_offset_from_unsigned` called when first pointer is too far ahead of second
+  --> $DIR/offset_from_ub.rs:104:14
    |
 LL |     unsafe { ptr_offset_from_unsigned(ptr2, ptr1) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called when first pointer is too far ahead of second
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:111:14
+error[E0080]: `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+  --> $DIR/offset_from_ub.rs:112:14
    |
 LL |     unsafe { ptr2.offset_from(ptr1) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on two different pointers that are not both derived from the same allocation
+   |              ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::ptr::const_ptr::<impl *const u8>::offset_from`
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/offset_from_ub.rs:117:14
+error[E0080]: `ptr_offset_from` called when first pointer is too far before second
+  --> $DIR/offset_from_ub.rs:118:14
    |
 LL |     unsafe { ptr1.offset_from(ptr2.wrapping_offset(1)) }
-   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called when first pointer is too far before second
+   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::ptr::const_ptr::<impl *const u8>::offset_from`
   --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
diff --git a/tests/ui/consts/offset_ub.stderr b/tests/ui/consts/offset_ub.stderr
index 31a2a36a669..86d43c80e66 100644
--- a/tests/ui/consts/offset_ub.stderr
+++ b/tests/ui/consts/offset_ub.stderr
@@ -1,68 +1,68 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got ALLOC0 which is at the beginning of the allocation
   --> $DIR/offset_ub.rs:8:46
    |
 LL | pub const BEFORE_START: *const u8 = unsafe { (&0u8 as *const u8).offset(-1) };
-   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got ALLOC0 which is at the beginning of the allocation
+   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got ALLOC1 which is only 1 byte from the end of the allocation
   --> $DIR/offset_ub.rs:9:43
    |
 LL | pub const AFTER_END: *const u8 = unsafe { (&0u8 as *const u8).offset(2) };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got ALLOC1 which is only 1 byte from the end of the allocation
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got ALLOC2 which is only $BYTES bytes from the end of the allocation
   --> $DIR/offset_ub.rs:10:45
    |
 LL | pub const AFTER_ARRAY: *const u8 = unsafe { [0u8; 100].as_ptr().offset(101) };
-   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got ALLOC2 which is only $BYTES bytes from the end of the allocation
+   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
   --> $DIR/offset_ub.rs:12:43
    |
 LL | pub const OVERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MAX) };
-   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
+   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
   --> $DIR/offset_ub.rs:13:44
    |
 LL | pub const UNDERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::MIN) };
-   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
+   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got 0xf..f[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/offset_ub.rs:14:56
    |
 LL | pub const OVERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (usize::MAX as *const u8).offset(2) };
-   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got 0xf..f[noalloc] which is a dangling pointer (it has no provenance)
+   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/offset_ub.rs:15:57
    |
 LL | pub const UNDERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (1 as *const u8).offset(-2) };
-   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
+   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got ALLOC3-0x2 which is only $BYTES bytes from the beginning of the allocation
   --> $DIR/offset_ub.rs:16:49
    |
 LL | pub const NEGATIVE_OFFSET: *const u8 = unsafe { [0u8; 1].as_ptr().wrapping_offset(-2).offset(-2) };
-   |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got ALLOC3-0x2 which is only $BYTES bytes from the beginning of the allocation
+   |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by 1 byte, but got ALLOC4 which is at or beyond the end of the allocation of size $BYTES bytes
   --> $DIR/offset_ub.rs:18:50
    |
 LL | pub const ZERO_SIZED_ALLOC: *const u8 = unsafe { [0u8; 0].as_ptr().offset(1) };
-   |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by 1 byte, but got ALLOC4 which is at or beyond the end of the allocation of size $BYTES bytes
+   |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/offset_ub.rs:19:42
    |
 LL | pub const DANGLING: *const u8 = unsafe { ptr::NonNull::<u8>::dangling().as_ptr().offset(4) };
-   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by $BYTES bytes, but got 0x1[noalloc] which is a dangling pointer (it has no provenance)
+   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got 0xf..f[noalloc] which is a dangling pointer (it has no provenance)
   --> $DIR/offset_ub.rs:22:47
    |
 LL | pub const UNDERFLOW_ABS: *const u8 = unsafe { (usize::MAX as *const u8).offset(isize::MIN) };
-   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in-bounds pointer arithmetic failed: attempting to offset pointer by -$BYTES bytes, but got 0xf..f[noalloc] which is a dangling pointer (it has no provenance)
+   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 11 previous errors
 
diff --git a/tests/ui/consts/overflowing-consts.noopt.stderr b/tests/ui/consts/overflowing-consts.noopt.stderr
index 81f22944adb..134ebad5c7b 100644
--- a/tests/ui/consts/overflowing-consts.noopt.stderr
+++ b/tests/ui/consts/overflowing-consts.noopt.stderr
@@ -1,1022 +1,1022 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:19:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:18:22
    |
 LL | const _NI8_SHL: i8 = 1i8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:20:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:19:26
    |
 LL | const _NI8_SHL_P: &i8 = &(1i8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:22:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:21:24
    |
 LL | const _NI16_SHL: i16 = 1i16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:23:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:22:28
    |
 LL | const _NI16_SHL_P: &i16 = &(1i16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:25:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:24:24
    |
 LL | const _NI32_SHL: i32 = 1i32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:26:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:25:28
    |
 LL | const _NI32_SHL_P: &i32 = &(1i32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:28:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:27:24
    |
 LL | const _NI64_SHL: i64 = 1i64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:29:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:28:28
    |
 LL | const _NI64_SHL_P: &i64 = &(1i64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:31:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:30:26
    |
 LL | const _NI128_SHL: i128 = 1i128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:32:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:31:30
    |
 LL | const _NI128_SHL_P: &i128 = &(1i128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:34:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:33:22
    |
 LL | const _NU8_SHL: u8 = 1u8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:35:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:34:26
    |
 LL | const _NU8_SHL_P: &u8 = &(1u8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:37:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:36:24
    |
 LL | const _NU16_SHL: u16 = 1u16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:38:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:37:28
    |
 LL | const _NU16_SHL_P: &u16 = &(1u16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:40:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:39:24
    |
 LL | const _NU32_SHL: u32 = 1u32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:41:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:40:28
    |
 LL | const _NU32_SHL_P: &u32 = &(1u32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:43:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:42:24
    |
 LL | const _NU64_SHL: u64 = 1u64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:44:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:43:28
    |
 LL | const _NU64_SHL_P: &u64 = &(1u64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:46:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:45:26
    |
 LL | const _NU128_SHL: u128 = 1u128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:47:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:46:30
    |
 LL | const _NU128_SHL_P: &u128 = &(1u128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:49:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:48:28
    |
 LL | const _NISIZE_SHL: isize = 1isize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:50:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:49:32
    |
 LL | const _NISIZE_SHL_P: &isize = &(1isize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:52:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:51:28
    |
 LL | const _NUSIZE_SHL: usize = 1usize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:53:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:52:32
    |
 LL | const _NUSIZE_SHL_P: &usize = &(1usize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:57:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:55:22
    |
 LL | const _NI8_SHR: i8 = 1i8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:58:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:56:26
    |
 LL | const _NI8_SHR_P: &i8 = &(1i8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:60:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:58:24
    |
 LL | const _NI16_SHR: i16 = 1i16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:61:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:59:28
    |
 LL | const _NI16_SHR_P: &i16 = &(1i16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:63:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:61:24
    |
 LL | const _NI32_SHR: i32 = 1i32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:64:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:62:28
    |
 LL | const _NI32_SHR_P: &i32 = &(1i32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:66:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:64:24
    |
 LL | const _NI64_SHR: i64 = 1i64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:67:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:65:28
    |
 LL | const _NI64_SHR_P: &i64 = &(1i64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:69:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:67:26
    |
 LL | const _NI128_SHR: i128 = 1i128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:70:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:68:30
    |
 LL | const _NI128_SHR_P: &i128 = &(1i128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:72:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:70:22
    |
 LL | const _NU8_SHR: u8 = 1u8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:73:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:71:26
    |
 LL | const _NU8_SHR_P: &u8 = &(1u8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:75:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:73:24
    |
 LL | const _NU16_SHR: u16 = 1u16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:76:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:74:28
    |
 LL | const _NU16_SHR_P: &u16 = &(1u16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:78:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:76:24
    |
 LL | const _NU32_SHR: u32 = 1u32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:79:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:77:28
    |
 LL | const _NU32_SHR_P: &u32 = &(1u32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:81:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:79:24
    |
 LL | const _NU64_SHR: u64 = 1u64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:82:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:80:28
    |
 LL | const _NU64_SHR_P: &u64 = &(1u64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:84:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:82:26
    |
 LL | const _NU128_SHR: u128 = 1u128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:85:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:83:30
    |
 LL | const _NU128_SHR_P: &u128 = &(1u128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:87:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:85:28
    |
 LL | const _NISIZE_SHR: isize = 1isize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:88:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:86:32
    |
 LL | const _NISIZE_SHR_P: &isize = &(1isize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:90:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:88:28
    |
 LL | const _NUSIZE_SHR: usize = 1usize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:91:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:89:32
    |
 LL | const _NUSIZE_SHR_P: &usize = &(1usize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:95:22
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:92:22
    |
 LL | const _NI8_ADD: i8 = 1i8 + i8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:96:26
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:93:26
    |
 LL | const _NI8_ADD_P: &i8 = &(1i8 + i8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:98:24
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:95:24
    |
 LL | const _NI16_ADD: i16 = 1i16 + i16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:99:28
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:96:28
    |
 LL | const _NI16_ADD_P: &i16 = &(1i16 + i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:101:24
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:98:24
    |
 LL | const _NI32_ADD: i32 = 1i32 + i32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:102:28
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:99:28
    |
 LL | const _NI32_ADD_P: &i32 = &(1i32 + i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:104:24
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:101:24
    |
 LL | const _NI64_ADD: i64 = 1i64 + i64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:105:28
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:102:28
    |
 LL | const _NI64_ADD_P: &i64 = &(1i64 + i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:107:26
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:104:26
    |
 LL | const _NI128_ADD: i128 = 1i128 + i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:108:30
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:105:30
    |
 LL | const _NI128_ADD_P: &i128 = &(1i128 + i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:110:22
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:107:22
    |
 LL | const _NU8_ADD: u8 = 1u8 + u8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:111:26
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:108:26
    |
 LL | const _NU8_ADD_P: &u8 = &(1u8 + u8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:113:24
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:110:24
    |
 LL | const _NU16_ADD: u16 = 1u16 + u16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:114:28
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:111:28
    |
 LL | const _NU16_ADD_P: &u16 = &(1u16 + u16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:116:24
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:113:24
    |
 LL | const _NU32_ADD: u32 = 1u32 + u32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:117:28
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:114:28
    |
 LL | const _NU32_ADD_P: &u32 = &(1u32 + u32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:119:24
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:116:24
    |
 LL | const _NU64_ADD: u64 = 1u64 + u64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:120:28
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:117:28
    |
 LL | const _NU64_ADD_P: &u64 = &(1u64 + u64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:122:26
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:119:26
    |
 LL | const _NU128_ADD: u128 = 1u128 + u128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:123:30
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:120:30
    |
 LL | const _NU128_ADD_P: &u128 = &(1u128 + u128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:125:28
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:122:28
    |
 LL | const _NISIZE_ADD: isize = 1isize + isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:126:32
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:123:32
    |
 LL | const _NISIZE_ADD_P: &isize = &(1isize + isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:128:28
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:125:28
    |
 LL | const _NUSIZE_ADD: usize = 1usize + usize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:129:32
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:126:32
    |
 LL | const _NUSIZE_ADD_P: &usize = &(1usize + usize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:133:22
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:129:22
    |
 LL | const _NI8_SUB: i8 = -5i8 - i8::MAX;
-   |                      ^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:134:26
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:130:26
    |
 LL | const _NI8_SUB_P: &i8 = &(-5i8 - i8::MAX);
-   |                          ^^^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:136:24
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:132:24
    |
 LL | const _NI16_SUB: i16 = -5i16 - i16::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:137:28
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:133:28
    |
 LL | const _NI16_SUB_P: &i16 = &(-5i16 - i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:139:24
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:135:24
    |
 LL | const _NI32_SUB: i32 = -5i32 - i32::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:140:28
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:136:28
    |
 LL | const _NI32_SUB_P: &i32 = &(-5i32 - i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:142:24
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:138:24
    |
 LL | const _NI64_SUB: i64 = -5i64 - i64::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:143:28
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:139:28
    |
 LL | const _NI64_SUB_P: &i64 = &(-5i64 - i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:145:26
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:141:26
    |
 LL | const _NI128_SUB: i128 = -5i128 - i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:146:30
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:142:30
    |
 LL | const _NI128_SUB_P: &i128 = &(-5i128 - i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:148:22
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:144:22
    |
 LL | const _NU8_SUB: u8 = 1u8 - 5;
-   |                      ^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:149:26
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:145:26
    |
 LL | const _NU8_SUB_P: &u8 = &(1u8 - 5);
-   |                          ^^^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:151:24
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:147:24
    |
 LL | const _NU16_SUB: u16 = 1u16 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:152:28
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:148:28
    |
 LL | const _NU16_SUB_P: &u16 = &(1u16 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:154:24
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:150:24
    |
 LL | const _NU32_SUB: u32 = 1u32 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:155:28
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:151:28
    |
 LL | const _NU32_SUB_P: &u32 = &(1u32 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:157:24
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:153:24
    |
 LL | const _NU64_SUB: u64 = 1u64 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:158:28
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:154:28
    |
 LL | const _NU64_SUB_P: &u64 = &(1u64 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:160:26
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:156:26
    |
 LL | const _NU128_SUB: u128 = 1u128 - 5;
-   |                          ^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:161:30
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:157:30
    |
 LL | const _NU128_SUB_P: &u128 = &(1u128 - 5);
-   |                              ^^^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:163:28
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:159:28
    |
 LL | const _NISIZE_SUB: isize = -5isize - isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:164:32
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:160:32
    |
 LL | const _NISIZE_SUB_P: &isize = &(-5isize - isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:166:28
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:162:28
    |
-LL | const _NUSIZE_SUB: usize = 1usize - 5 ;
-   |                            ^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB: usize = 1usize - 5;
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:167:32
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:163:32
    |
-LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5 );
-   |                                ^^^^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5);
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:171:22
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:166:22
    |
 LL | const _NI8_MUL: i8 = i8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:172:26
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:167:26
    |
 LL | const _NI8_MUL_P: &i8 = &(i8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:174:24
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:169:24
    |
 LL | const _NI16_MUL: i16 = i16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:175:28
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:170:28
    |
 LL | const _NI16_MUL_P: &i16 = &(i16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:177:24
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:172:24
    |
 LL | const _NI32_MUL: i32 = i32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:178:28
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:173:28
    |
 LL | const _NI32_MUL_P: &i32 = &(i32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:180:24
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:175:24
    |
 LL | const _NI64_MUL: i64 = i64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:181:28
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:176:28
    |
 LL | const _NI64_MUL_P: &i64 = &(i64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:183:26
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:178:26
    |
 LL | const _NI128_MUL: i128 = i128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:184:30
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:179:30
    |
 LL | const _NI128_MUL_P: &i128 = &(i128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:186:22
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:181:22
    |
 LL | const _NU8_MUL: u8 = u8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:187:26
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:182:26
    |
 LL | const _NU8_MUL_P: &u8 = &(u8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:189:24
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:184:24
    |
 LL | const _NU16_MUL: u16 = u16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:190:28
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:185:28
    |
 LL | const _NU16_MUL_P: &u16 = &(u16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:192:24
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:187:24
    |
 LL | const _NU32_MUL: u32 = u32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:193:28
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:188:28
    |
 LL | const _NU32_MUL_P: &u32 = &(u32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:195:24
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:190:24
    |
 LL | const _NU64_MUL: u64 = u64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:196:28
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:191:28
    |
 LL | const _NU64_MUL_P: &u64 = &(u64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:198:26
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:193:26
    |
 LL | const _NU128_MUL: u128 = u128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:199:30
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:194:30
    |
 LL | const _NU128_MUL_P: &u128 = &(u128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:201:28
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:196:28
    |
 LL | const _NISIZE_MUL: isize = isize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:202:32
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:197:32
    |
 LL | const _NISIZE_MUL_P: &isize = &(isize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:204:28
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:199:28
    |
 LL | const _NUSIZE_MUL: usize = usize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:205:32
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:200:32
    |
 LL | const _NUSIZE_MUL_P: &usize = &(usize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:209:22
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:203:22
    |
 LL | const _NI8_DIV: i8 = 1i8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_i8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:210:26
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:204:26
    |
 LL | const _NI8_DIV_P: &i8 = &(1i8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_i8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:212:24
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:206:24
    |
 LL | const _NI16_DIV: i16 = 1i16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:213:28
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:207:28
    |
 LL | const _NI16_DIV_P: &i16 = &(1i16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:215:24
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:209:24
    |
 LL | const _NI32_DIV: i32 = 1i32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:216:28
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:210:28
    |
 LL | const _NI32_DIV_P: &i32 = &(1i32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:218:24
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:212:24
    |
 LL | const _NI64_DIV: i64 = 1i64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:219:28
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:213:28
    |
 LL | const _NI64_DIV_P: &i64 = &(1i64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:221:26
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:215:26
    |
 LL | const _NI128_DIV: i128 = 1i128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:222:30
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:216:30
    |
 LL | const _NI128_DIV_P: &i128 = &(1i128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:224:22
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:218:22
    |
 LL | const _NU8_DIV: u8 = 1u8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_u8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:225:26
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:219:26
    |
 LL | const _NU8_DIV_P: &u8 = &(1u8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_u8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:227:24
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:221:24
    |
 LL | const _NU16_DIV: u16 = 1u16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:228:28
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:222:28
    |
 LL | const _NU16_DIV_P: &u16 = &(1u16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:230:24
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:224:24
    |
 LL | const _NU32_DIV: u32 = 1u32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:231:28
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:225:28
    |
 LL | const _NU32_DIV_P: &u32 = &(1u32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:233:24
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:227:24
    |
 LL | const _NU64_DIV: u64 = 1u64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:234:28
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:228:28
    |
 LL | const _NU64_DIV_P: &u64 = &(1u64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:236:26
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:230:26
    |
 LL | const _NU128_DIV: u128 = 1u128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:237:30
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:231:30
    |
 LL | const _NU128_DIV_P: &u128 = &(1u128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:239:28
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:233:28
    |
 LL | const _NISIZE_DIV: isize = 1isize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:240:32
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:234:32
    |
 LL | const _NISIZE_DIV_P: &isize = &(1isize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:242:28
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:236:28
    |
 LL | const _NUSIZE_DIV: usize = 1usize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:243:32
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:237:32
    |
 LL | const _NUSIZE_DIV_P: &usize = &(1usize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:246:22
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:240:22
    |
 LL | const _NI8_MOD: i8 = 1i8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:247:26
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:241:26
    |
 LL | const _NI8_MOD_P: &i8 = &(1i8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:249:24
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:243:24
    |
 LL | const _NI16_MOD: i16 = 1i16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:250:28
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:244:28
    |
 LL | const _NI16_MOD_P: &i16 = &(1i16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:252:24
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:246:24
    |
 LL | const _NI32_MOD: i32 = 1i32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:253:28
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:247:28
    |
 LL | const _NI32_MOD_P: &i32 = &(1i32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:255:24
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:249:24
    |
 LL | const _NI64_MOD: i64 = 1i64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:256:28
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:250:28
    |
 LL | const _NI64_MOD_P: &i64 = &(1i64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:258:26
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:252:26
    |
 LL | const _NI128_MOD: i128 = 1i128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:259:30
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:253:30
    |
 LL | const _NI128_MOD_P: &i128 = &(1i128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:261:22
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:255:22
    |
 LL | const _NU8_MOD: u8 = 1u8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:262:26
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:256:26
    |
 LL | const _NU8_MOD_P: &u8 = &(1u8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:264:24
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:258:24
    |
 LL | const _NU16_MOD: u16 = 1u16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:265:28
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:259:28
    |
 LL | const _NU16_MOD_P: &u16 = &(1u16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:267:24
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:261:24
    |
 LL | const _NU32_MOD: u32 = 1u32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:268:28
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:262:28
    |
 LL | const _NU32_MOD_P: &u32 = &(1u32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:270:24
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:264:24
    |
 LL | const _NU64_MOD: u64 = 1u64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:271:28
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:265:28
    |
 LL | const _NU64_MOD_P: &u64 = &(1u64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:273:26
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:267:26
    |
 LL | const _NU128_MOD: u128 = 1u128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:274:30
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:268:30
    |
 LL | const _NU128_MOD_P: &u128 = &(1u128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:276:28
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:270:28
    |
 LL | const _NISIZE_MOD: isize = 1isize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:277:32
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:271:32
    |
 LL | const _NISIZE_MOD_P: &isize = &(1isize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:279:28
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:273:28
    |
 LL | const _NUSIZE_MOD: usize = 1usize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:280:32
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:274:32
    |
 LL | const _NUSIZE_MOD_P: &usize = &(1usize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:284:24
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:277:24
    |
 LL | const _NI32_OOB: i32 = [1, 2, 3][4];
-   |                        ^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:285:28
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:278:28
    |
 LL | const _NI32_OOB_P: &i32 = &([1, 2, 3][4]);
-   |                            ^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 170 previous errors
 
diff --git a/tests/ui/consts/overflowing-consts.opt.stderr b/tests/ui/consts/overflowing-consts.opt.stderr
index 81f22944adb..134ebad5c7b 100644
--- a/tests/ui/consts/overflowing-consts.opt.stderr
+++ b/tests/ui/consts/overflowing-consts.opt.stderr
@@ -1,1022 +1,1022 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:19:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:18:22
    |
 LL | const _NI8_SHL: i8 = 1i8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:20:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:19:26
    |
 LL | const _NI8_SHL_P: &i8 = &(1i8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:22:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:21:24
    |
 LL | const _NI16_SHL: i16 = 1i16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:23:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:22:28
    |
 LL | const _NI16_SHL_P: &i16 = &(1i16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:25:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:24:24
    |
 LL | const _NI32_SHL: i32 = 1i32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:26:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:25:28
    |
 LL | const _NI32_SHL_P: &i32 = &(1i32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:28:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:27:24
    |
 LL | const _NI64_SHL: i64 = 1i64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:29:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:28:28
    |
 LL | const _NI64_SHL_P: &i64 = &(1i64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:31:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:30:26
    |
 LL | const _NI128_SHL: i128 = 1i128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:32:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:31:30
    |
 LL | const _NI128_SHL_P: &i128 = &(1i128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:34:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:33:22
    |
 LL | const _NU8_SHL: u8 = 1u8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:35:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:34:26
    |
 LL | const _NU8_SHL_P: &u8 = &(1u8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:37:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:36:24
    |
 LL | const _NU16_SHL: u16 = 1u16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:38:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:37:28
    |
 LL | const _NU16_SHL_P: &u16 = &(1u16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:40:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:39:24
    |
 LL | const _NU32_SHL: u32 = 1u32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:41:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:40:28
    |
 LL | const _NU32_SHL_P: &u32 = &(1u32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:43:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:42:24
    |
 LL | const _NU64_SHL: u64 = 1u64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:44:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:43:28
    |
 LL | const _NU64_SHL_P: &u64 = &(1u64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:46:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:45:26
    |
 LL | const _NU128_SHL: u128 = 1u128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:47:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:46:30
    |
 LL | const _NU128_SHL_P: &u128 = &(1u128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:49:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:48:28
    |
 LL | const _NISIZE_SHL: isize = 1isize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:50:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:49:32
    |
 LL | const _NISIZE_SHL_P: &isize = &(1isize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:52:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:51:28
    |
 LL | const _NUSIZE_SHL: usize = 1usize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:53:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:52:32
    |
 LL | const _NUSIZE_SHL_P: &usize = &(1usize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:57:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:55:22
    |
 LL | const _NI8_SHR: i8 = 1i8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:58:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:56:26
    |
 LL | const _NI8_SHR_P: &i8 = &(1i8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:60:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:58:24
    |
 LL | const _NI16_SHR: i16 = 1i16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:61:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:59:28
    |
 LL | const _NI16_SHR_P: &i16 = &(1i16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:63:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:61:24
    |
 LL | const _NI32_SHR: i32 = 1i32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:64:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:62:28
    |
 LL | const _NI32_SHR_P: &i32 = &(1i32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:66:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:64:24
    |
 LL | const _NI64_SHR: i64 = 1i64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:67:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:65:28
    |
 LL | const _NI64_SHR_P: &i64 = &(1i64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:69:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:67:26
    |
 LL | const _NI128_SHR: i128 = 1i128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:70:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:68:30
    |
 LL | const _NI128_SHR_P: &i128 = &(1i128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:72:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:70:22
    |
 LL | const _NU8_SHR: u8 = 1u8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:73:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:71:26
    |
 LL | const _NU8_SHR_P: &u8 = &(1u8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:75:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:73:24
    |
 LL | const _NU16_SHR: u16 = 1u16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:76:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:74:28
    |
 LL | const _NU16_SHR_P: &u16 = &(1u16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:78:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:76:24
    |
 LL | const _NU32_SHR: u32 = 1u32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:79:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:77:28
    |
 LL | const _NU32_SHR_P: &u32 = &(1u32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:81:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:79:24
    |
 LL | const _NU64_SHR: u64 = 1u64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:82:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:80:28
    |
 LL | const _NU64_SHR_P: &u64 = &(1u64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:84:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:82:26
    |
 LL | const _NU128_SHR: u128 = 1u128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:85:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:83:30
    |
 LL | const _NU128_SHR_P: &u128 = &(1u128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:87:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:85:28
    |
 LL | const _NISIZE_SHR: isize = 1isize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:88:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:86:32
    |
 LL | const _NISIZE_SHR_P: &isize = &(1isize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:90:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:88:28
    |
 LL | const _NUSIZE_SHR: usize = 1usize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:91:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:89:32
    |
 LL | const _NUSIZE_SHR_P: &usize = &(1usize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:95:22
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:92:22
    |
 LL | const _NI8_ADD: i8 = 1i8 + i8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:96:26
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:93:26
    |
 LL | const _NI8_ADD_P: &i8 = &(1i8 + i8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:98:24
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:95:24
    |
 LL | const _NI16_ADD: i16 = 1i16 + i16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:99:28
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:96:28
    |
 LL | const _NI16_ADD_P: &i16 = &(1i16 + i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:101:24
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:98:24
    |
 LL | const _NI32_ADD: i32 = 1i32 + i32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:102:28
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:99:28
    |
 LL | const _NI32_ADD_P: &i32 = &(1i32 + i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:104:24
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:101:24
    |
 LL | const _NI64_ADD: i64 = 1i64 + i64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:105:28
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:102:28
    |
 LL | const _NI64_ADD_P: &i64 = &(1i64 + i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:107:26
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:104:26
    |
 LL | const _NI128_ADD: i128 = 1i128 + i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:108:30
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:105:30
    |
 LL | const _NI128_ADD_P: &i128 = &(1i128 + i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:110:22
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:107:22
    |
 LL | const _NU8_ADD: u8 = 1u8 + u8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:111:26
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:108:26
    |
 LL | const _NU8_ADD_P: &u8 = &(1u8 + u8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:113:24
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:110:24
    |
 LL | const _NU16_ADD: u16 = 1u16 + u16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:114:28
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:111:28
    |
 LL | const _NU16_ADD_P: &u16 = &(1u16 + u16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:116:24
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:113:24
    |
 LL | const _NU32_ADD: u32 = 1u32 + u32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:117:28
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:114:28
    |
 LL | const _NU32_ADD_P: &u32 = &(1u32 + u32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:119:24
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:116:24
    |
 LL | const _NU64_ADD: u64 = 1u64 + u64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:120:28
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:117:28
    |
 LL | const _NU64_ADD_P: &u64 = &(1u64 + u64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:122:26
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:119:26
    |
 LL | const _NU128_ADD: u128 = 1u128 + u128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:123:30
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:120:30
    |
 LL | const _NU128_ADD_P: &u128 = &(1u128 + u128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:125:28
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:122:28
    |
 LL | const _NISIZE_ADD: isize = 1isize + isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:126:32
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:123:32
    |
 LL | const _NISIZE_ADD_P: &isize = &(1isize + isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:128:28
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:125:28
    |
 LL | const _NUSIZE_ADD: usize = 1usize + usize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:129:32
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:126:32
    |
 LL | const _NUSIZE_ADD_P: &usize = &(1usize + usize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:133:22
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:129:22
    |
 LL | const _NI8_SUB: i8 = -5i8 - i8::MAX;
-   |                      ^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:134:26
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:130:26
    |
 LL | const _NI8_SUB_P: &i8 = &(-5i8 - i8::MAX);
-   |                          ^^^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:136:24
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:132:24
    |
 LL | const _NI16_SUB: i16 = -5i16 - i16::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:137:28
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:133:28
    |
 LL | const _NI16_SUB_P: &i16 = &(-5i16 - i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:139:24
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:135:24
    |
 LL | const _NI32_SUB: i32 = -5i32 - i32::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:140:28
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:136:28
    |
 LL | const _NI32_SUB_P: &i32 = &(-5i32 - i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:142:24
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:138:24
    |
 LL | const _NI64_SUB: i64 = -5i64 - i64::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:143:28
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:139:28
    |
 LL | const _NI64_SUB_P: &i64 = &(-5i64 - i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:145:26
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:141:26
    |
 LL | const _NI128_SUB: i128 = -5i128 - i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:146:30
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:142:30
    |
 LL | const _NI128_SUB_P: &i128 = &(-5i128 - i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:148:22
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:144:22
    |
 LL | const _NU8_SUB: u8 = 1u8 - 5;
-   |                      ^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:149:26
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:145:26
    |
 LL | const _NU8_SUB_P: &u8 = &(1u8 - 5);
-   |                          ^^^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:151:24
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:147:24
    |
 LL | const _NU16_SUB: u16 = 1u16 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:152:28
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:148:28
    |
 LL | const _NU16_SUB_P: &u16 = &(1u16 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:154:24
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:150:24
    |
 LL | const _NU32_SUB: u32 = 1u32 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:155:28
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:151:28
    |
 LL | const _NU32_SUB_P: &u32 = &(1u32 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:157:24
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:153:24
    |
 LL | const _NU64_SUB: u64 = 1u64 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:158:28
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:154:28
    |
 LL | const _NU64_SUB_P: &u64 = &(1u64 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:160:26
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:156:26
    |
 LL | const _NU128_SUB: u128 = 1u128 - 5;
-   |                          ^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:161:30
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:157:30
    |
 LL | const _NU128_SUB_P: &u128 = &(1u128 - 5);
-   |                              ^^^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:163:28
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:159:28
    |
 LL | const _NISIZE_SUB: isize = -5isize - isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:164:32
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:160:32
    |
 LL | const _NISIZE_SUB_P: &isize = &(-5isize - isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:166:28
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:162:28
    |
-LL | const _NUSIZE_SUB: usize = 1usize - 5 ;
-   |                            ^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB: usize = 1usize - 5;
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:167:32
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:163:32
    |
-LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5 );
-   |                                ^^^^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5);
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:171:22
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:166:22
    |
 LL | const _NI8_MUL: i8 = i8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:172:26
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:167:26
    |
 LL | const _NI8_MUL_P: &i8 = &(i8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:174:24
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:169:24
    |
 LL | const _NI16_MUL: i16 = i16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:175:28
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:170:28
    |
 LL | const _NI16_MUL_P: &i16 = &(i16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:177:24
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:172:24
    |
 LL | const _NI32_MUL: i32 = i32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:178:28
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:173:28
    |
 LL | const _NI32_MUL_P: &i32 = &(i32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:180:24
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:175:24
    |
 LL | const _NI64_MUL: i64 = i64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:181:28
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:176:28
    |
 LL | const _NI64_MUL_P: &i64 = &(i64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:183:26
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:178:26
    |
 LL | const _NI128_MUL: i128 = i128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:184:30
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:179:30
    |
 LL | const _NI128_MUL_P: &i128 = &(i128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:186:22
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:181:22
    |
 LL | const _NU8_MUL: u8 = u8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:187:26
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:182:26
    |
 LL | const _NU8_MUL_P: &u8 = &(u8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:189:24
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:184:24
    |
 LL | const _NU16_MUL: u16 = u16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:190:28
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:185:28
    |
 LL | const _NU16_MUL_P: &u16 = &(u16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:192:24
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:187:24
    |
 LL | const _NU32_MUL: u32 = u32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:193:28
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:188:28
    |
 LL | const _NU32_MUL_P: &u32 = &(u32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:195:24
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:190:24
    |
 LL | const _NU64_MUL: u64 = u64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:196:28
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:191:28
    |
 LL | const _NU64_MUL_P: &u64 = &(u64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:198:26
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:193:26
    |
 LL | const _NU128_MUL: u128 = u128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:199:30
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:194:30
    |
 LL | const _NU128_MUL_P: &u128 = &(u128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:201:28
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:196:28
    |
 LL | const _NISIZE_MUL: isize = isize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:202:32
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:197:32
    |
 LL | const _NISIZE_MUL_P: &isize = &(isize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:204:28
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:199:28
    |
 LL | const _NUSIZE_MUL: usize = usize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:205:32
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:200:32
    |
 LL | const _NUSIZE_MUL_P: &usize = &(usize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:209:22
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:203:22
    |
 LL | const _NI8_DIV: i8 = 1i8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_i8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:210:26
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:204:26
    |
 LL | const _NI8_DIV_P: &i8 = &(1i8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_i8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:212:24
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:206:24
    |
 LL | const _NI16_DIV: i16 = 1i16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:213:28
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:207:28
    |
 LL | const _NI16_DIV_P: &i16 = &(1i16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:215:24
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:209:24
    |
 LL | const _NI32_DIV: i32 = 1i32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:216:28
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:210:28
    |
 LL | const _NI32_DIV_P: &i32 = &(1i32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:218:24
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:212:24
    |
 LL | const _NI64_DIV: i64 = 1i64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:219:28
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:213:28
    |
 LL | const _NI64_DIV_P: &i64 = &(1i64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:221:26
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:215:26
    |
 LL | const _NI128_DIV: i128 = 1i128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:222:30
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:216:30
    |
 LL | const _NI128_DIV_P: &i128 = &(1i128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:224:22
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:218:22
    |
 LL | const _NU8_DIV: u8 = 1u8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_u8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:225:26
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:219:26
    |
 LL | const _NU8_DIV_P: &u8 = &(1u8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_u8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:227:24
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:221:24
    |
 LL | const _NU16_DIV: u16 = 1u16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:228:28
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:222:28
    |
 LL | const _NU16_DIV_P: &u16 = &(1u16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:230:24
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:224:24
    |
 LL | const _NU32_DIV: u32 = 1u32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:231:28
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:225:28
    |
 LL | const _NU32_DIV_P: &u32 = &(1u32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:233:24
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:227:24
    |
 LL | const _NU64_DIV: u64 = 1u64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:234:28
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:228:28
    |
 LL | const _NU64_DIV_P: &u64 = &(1u64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:236:26
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:230:26
    |
 LL | const _NU128_DIV: u128 = 1u128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:237:30
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:231:30
    |
 LL | const _NU128_DIV_P: &u128 = &(1u128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:239:28
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:233:28
    |
 LL | const _NISIZE_DIV: isize = 1isize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:240:32
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:234:32
    |
 LL | const _NISIZE_DIV_P: &isize = &(1isize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:242:28
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:236:28
    |
 LL | const _NUSIZE_DIV: usize = 1usize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:243:32
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:237:32
    |
 LL | const _NUSIZE_DIV_P: &usize = &(1usize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:246:22
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:240:22
    |
 LL | const _NI8_MOD: i8 = 1i8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:247:26
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:241:26
    |
 LL | const _NI8_MOD_P: &i8 = &(1i8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:249:24
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:243:24
    |
 LL | const _NI16_MOD: i16 = 1i16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:250:28
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:244:28
    |
 LL | const _NI16_MOD_P: &i16 = &(1i16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:252:24
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:246:24
    |
 LL | const _NI32_MOD: i32 = 1i32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:253:28
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:247:28
    |
 LL | const _NI32_MOD_P: &i32 = &(1i32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:255:24
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:249:24
    |
 LL | const _NI64_MOD: i64 = 1i64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:256:28
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:250:28
    |
 LL | const _NI64_MOD_P: &i64 = &(1i64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:258:26
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:252:26
    |
 LL | const _NI128_MOD: i128 = 1i128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:259:30
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:253:30
    |
 LL | const _NI128_MOD_P: &i128 = &(1i128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:261:22
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:255:22
    |
 LL | const _NU8_MOD: u8 = 1u8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:262:26
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:256:26
    |
 LL | const _NU8_MOD_P: &u8 = &(1u8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:264:24
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:258:24
    |
 LL | const _NU16_MOD: u16 = 1u16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:265:28
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:259:28
    |
 LL | const _NU16_MOD_P: &u16 = &(1u16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:267:24
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:261:24
    |
 LL | const _NU32_MOD: u32 = 1u32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:268:28
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:262:28
    |
 LL | const _NU32_MOD_P: &u32 = &(1u32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:270:24
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:264:24
    |
 LL | const _NU64_MOD: u64 = 1u64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:271:28
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:265:28
    |
 LL | const _NU64_MOD_P: &u64 = &(1u64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:273:26
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:267:26
    |
 LL | const _NU128_MOD: u128 = 1u128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:274:30
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:268:30
    |
 LL | const _NU128_MOD_P: &u128 = &(1u128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:276:28
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:270:28
    |
 LL | const _NISIZE_MOD: isize = 1isize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:277:32
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:271:32
    |
 LL | const _NISIZE_MOD_P: &isize = &(1isize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:279:28
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:273:28
    |
 LL | const _NUSIZE_MOD: usize = 1usize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:280:32
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:274:32
    |
 LL | const _NUSIZE_MOD_P: &usize = &(1usize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:284:24
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:277:24
    |
 LL | const _NI32_OOB: i32 = [1, 2, 3][4];
-   |                        ^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:285:28
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:278:28
    |
 LL | const _NI32_OOB_P: &i32 = &([1, 2, 3][4]);
-   |                            ^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 170 previous errors
 
diff --git a/tests/ui/consts/overflowing-consts.opt_with_overflow_checks.stderr b/tests/ui/consts/overflowing-consts.opt_with_overflow_checks.stderr
index 81f22944adb..134ebad5c7b 100644
--- a/tests/ui/consts/overflowing-consts.opt_with_overflow_checks.stderr
+++ b/tests/ui/consts/overflowing-consts.opt_with_overflow_checks.stderr
@@ -1,1022 +1,1022 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:19:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:18:22
    |
 LL | const _NI8_SHL: i8 = 1i8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:20:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:19:26
    |
 LL | const _NI8_SHL_P: &i8 = &(1i8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:22:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:21:24
    |
 LL | const _NI16_SHL: i16 = 1i16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:23:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:22:28
    |
 LL | const _NI16_SHL_P: &i16 = &(1i16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:25:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:24:24
    |
 LL | const _NI32_SHL: i32 = 1i32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:26:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:25:28
    |
 LL | const _NI32_SHL_P: &i32 = &(1i32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:28:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:27:24
    |
 LL | const _NI64_SHL: i64 = 1i64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:29:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:28:28
    |
 LL | const _NI64_SHL_P: &i64 = &(1i64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:31:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:30:26
    |
 LL | const _NI128_SHL: i128 = 1i128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:32:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:31:30
    |
 LL | const _NI128_SHL_P: &i128 = &(1i128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:34:22
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:33:22
    |
 LL | const _NU8_SHL: u8 = 1u8 << 8;
-   |                      ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:35:26
+error[E0080]: attempt to shift left by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:34:26
    |
 LL | const _NU8_SHL_P: &u8 = &(1u8 << 8);
-   |                          ^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:37:24
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:36:24
    |
 LL | const _NU16_SHL: u16 = 1u16 << 16;
-   |                        ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:38:28
+error[E0080]: attempt to shift left by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:37:28
    |
 LL | const _NU16_SHL_P: &u16 = &(1u16 << 16);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:40:24
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:39:24
    |
 LL | const _NU32_SHL: u32 = 1u32 << 32;
-   |                        ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:41:28
+error[E0080]: attempt to shift left by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:40:28
    |
 LL | const _NU32_SHL_P: &u32 = &(1u32 << 32);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:43:24
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:42:24
    |
 LL | const _NU64_SHL: u64 = 1u64 << 64;
-   |                        ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:44:28
+error[E0080]: attempt to shift left by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:43:28
    |
 LL | const _NU64_SHL_P: &u64 = &(1u64 << 64);
-   |                            ^^^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:46:26
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:45:26
    |
 LL | const _NU128_SHL: u128 = 1u128 << 128;
-   |                          ^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:47:30
+error[E0080]: attempt to shift left by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:46:30
    |
 LL | const _NU128_SHL_P: &u128 = &(1u128 << 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift left by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:49:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:48:28
    |
 LL | const _NISIZE_SHL: isize = 1isize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:50:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:49:32
    |
 LL | const _NISIZE_SHL_P: &isize = &(1isize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:52:28
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:51:28
    |
 LL | const _NUSIZE_SHL: usize = 1usize << BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:53:32
+error[E0080]: attempt to shift left by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:52:32
    |
 LL | const _NUSIZE_SHL_P: &usize = &(1usize << BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:57:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:55:22
    |
 LL | const _NI8_SHR: i8 = 1i8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:58:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:56:26
    |
 LL | const _NI8_SHR_P: &i8 = &(1i8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:60:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:58:24
    |
 LL | const _NI16_SHR: i16 = 1i16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:61:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:59:28
    |
 LL | const _NI16_SHR_P: &i16 = &(1i16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:63:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:61:24
    |
 LL | const _NI32_SHR: i32 = 1i32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:64:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:62:28
    |
 LL | const _NI32_SHR_P: &i32 = &(1i32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:66:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:64:24
    |
 LL | const _NI64_SHR: i64 = 1i64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:67:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:65:28
    |
 LL | const _NI64_SHR_P: &i64 = &(1i64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:69:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:67:26
    |
 LL | const _NI128_SHR: i128 = 1i128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:70:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:68:30
    |
 LL | const _NI128_SHR_P: &i128 = &(1i128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:72:22
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:70:22
    |
 LL | const _NU8_SHR: u8 = 1u8 >> 8;
-   |                      ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                      ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:73:26
+error[E0080]: attempt to shift right by `8_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:71:26
    |
 LL | const _NU8_SHR_P: &u8 = &(1u8 >> 8);
-   |                          ^^^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
+   |                          ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:75:24
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:73:24
    |
 LL | const _NU16_SHR: u16 = 1u16 >> 16;
-   |                        ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:76:28
+error[E0080]: attempt to shift right by `16_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:74:28
    |
 LL | const _NU16_SHR_P: &u16 = &(1u16 >> 16);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:78:24
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:76:24
    |
 LL | const _NU32_SHR: u32 = 1u32 >> 32;
-   |                        ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:79:28
+error[E0080]: attempt to shift right by `32_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:77:28
    |
 LL | const _NU32_SHR_P: &u32 = &(1u32 >> 32);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:81:24
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:79:24
    |
 LL | const _NU64_SHR: u64 = 1u64 >> 64;
-   |                        ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                        ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:82:28
+error[E0080]: attempt to shift right by `64_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:80:28
    |
 LL | const _NU64_SHR_P: &u64 = &(1u64 >> 64);
-   |                            ^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
+   |                            ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:84:26
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:82:26
    |
 LL | const _NU128_SHR: u128 = 1u128 >> 128;
-   |                          ^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                          ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:85:30
+error[E0080]: attempt to shift right by `128_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:83:30
    |
 LL | const _NU128_SHR_P: &u128 = &(1u128 >> 128);
-   |                              ^^^^^^^^^^^^^^ attempt to shift right by `128_i32`, which would overflow
+   |                              ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:87:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:85:28
    |
 LL | const _NISIZE_SHR: isize = 1isize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:88:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:86:32
    |
 LL | const _NISIZE_SHR_P: &isize = &(1isize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:90:28
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:88:28
    |
 LL | const _NUSIZE_SHR: usize = 1usize >> BITS;
-   |                            ^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:91:32
+error[E0080]: attempt to shift right by `%BITS%`, which would overflow
+  --> $DIR/overflowing-consts.rs:89:32
    |
 LL | const _NUSIZE_SHR_P: &usize = &(1usize >> BITS);
-   |                                ^^^^^^^^^^^^^^^^ attempt to shift right by `%BITS%`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:95:22
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:92:22
    |
 LL | const _NI8_ADD: i8 = 1i8 + i8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:96:26
+error[E0080]: attempt to compute `1_i8 + i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:93:26
    |
 LL | const _NI8_ADD_P: &i8 = &(1i8 + i8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_i8 + i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:98:24
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:95:24
    |
 LL | const _NI16_ADD: i16 = 1i16 + i16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:99:28
+error[E0080]: attempt to compute `1_i16 + i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:96:28
    |
 LL | const _NI16_ADD_P: &i16 = &(1i16 + i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i16 + i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:101:24
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:98:24
    |
 LL | const _NI32_ADD: i32 = 1i32 + i32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:102:28
+error[E0080]: attempt to compute `1_i32 + i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:99:28
    |
 LL | const _NI32_ADD_P: &i32 = &(1i32 + i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i32 + i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:104:24
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:101:24
    |
 LL | const _NI64_ADD: i64 = 1i64 + i64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:105:28
+error[E0080]: attempt to compute `1_i64 + i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:102:28
    |
 LL | const _NI64_ADD_P: &i64 = &(1i64 + i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_i64 + i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:107:26
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:104:26
    |
 LL | const _NI128_ADD: i128 = 1i128 + i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:108:30
+error[E0080]: attempt to compute `1_i128 + i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:105:30
    |
 LL | const _NI128_ADD_P: &i128 = &(1i128 + i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_i128 + i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:110:22
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:107:22
    |
 LL | const _NU8_ADD: u8 = 1u8 + u8::MAX;
-   |                      ^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:111:26
+error[E0080]: attempt to compute `1_u8 + u8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:108:26
    |
 LL | const _NU8_ADD_P: &u8 = &(1u8 + u8::MAX);
-   |                          ^^^^^^^^^^^^^^^ attempt to compute `1_u8 + u8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:113:24
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:110:24
    |
 LL | const _NU16_ADD: u16 = 1u16 + u16::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:114:28
+error[E0080]: attempt to compute `1_u16 + u16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:111:28
    |
 LL | const _NU16_ADD_P: &u16 = &(1u16 + u16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u16 + u16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:116:24
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:113:24
    |
 LL | const _NU32_ADD: u32 = 1u32 + u32::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:117:28
+error[E0080]: attempt to compute `1_u32 + u32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:114:28
    |
 LL | const _NU32_ADD_P: &u32 = &(1u32 + u32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u32 + u32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:119:24
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:116:24
    |
 LL | const _NU64_ADD: u64 = 1u64 + u64::MAX;
-   |                        ^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:120:28
+error[E0080]: attempt to compute `1_u64 + u64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:117:28
    |
 LL | const _NU64_ADD_P: &u64 = &(1u64 + u64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^ attempt to compute `1_u64 + u64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:122:26
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:119:26
    |
 LL | const _NU128_ADD: u128 = 1u128 + u128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:123:30
+error[E0080]: attempt to compute `1_u128 + u128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:120:30
    |
 LL | const _NU128_ADD_P: &u128 = &(1u128 + u128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_u128 + u128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:125:28
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:122:28
    |
 LL | const _NISIZE_ADD: isize = 1isize + isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:126:32
+error[E0080]: attempt to compute `1_isize + isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:123:32
    |
 LL | const _NISIZE_ADD_P: &isize = &(1isize + isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_isize + isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:128:28
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:125:28
    |
 LL | const _NUSIZE_ADD: usize = 1usize + usize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:129:32
+error[E0080]: attempt to compute `1_usize + usize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:126:32
    |
 LL | const _NUSIZE_ADD_P: &usize = &(1usize + usize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `1_usize + usize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:133:22
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:129:22
    |
 LL | const _NI8_SUB: i8 = -5i8 - i8::MAX;
-   |                      ^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                      ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:134:26
+error[E0080]: attempt to compute `-5_i8 - i8::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:130:26
    |
 LL | const _NI8_SUB_P: &i8 = &(-5i8 - i8::MAX);
-   |                          ^^^^^^^^^^^^^^^^ attempt to compute `-5_i8 - i8::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:136:24
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:132:24
    |
 LL | const _NI16_SUB: i16 = -5i16 - i16::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:137:28
+error[E0080]: attempt to compute `-5_i16 - i16::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:133:28
    |
 LL | const _NI16_SUB_P: &i16 = &(-5i16 - i16::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i16 - i16::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:139:24
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:135:24
    |
 LL | const _NI32_SUB: i32 = -5i32 - i32::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:140:28
+error[E0080]: attempt to compute `-5_i32 - i32::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:136:28
    |
 LL | const _NI32_SUB_P: &i32 = &(-5i32 - i32::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i32 - i32::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:142:24
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:138:24
    |
 LL | const _NI64_SUB: i64 = -5i64 - i64::MAX;
-   |                        ^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                        ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:143:28
+error[E0080]: attempt to compute `-5_i64 - i64::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:139:28
    |
 LL | const _NI64_SUB_P: &i64 = &(-5i64 - i64::MAX);
-   |                            ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i64 - i64::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:145:26
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:141:26
    |
 LL | const _NI128_SUB: i128 = -5i128 - i128::MAX;
-   |                          ^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                          ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:146:30
+error[E0080]: attempt to compute `-5_i128 - i128::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:142:30
    |
 LL | const _NI128_SUB_P: &i128 = &(-5i128 - i128::MAX);
-   |                              ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_i128 - i128::MAX`, which would overflow
+   |                              ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:148:22
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:144:22
    |
 LL | const _NU8_SUB: u8 = 1u8 - 5;
-   |                      ^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:149:26
+error[E0080]: attempt to compute `1_u8 - 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:145:26
    |
 LL | const _NU8_SUB_P: &u8 = &(1u8 - 5);
-   |                          ^^^^^^^^^ attempt to compute `1_u8 - 5_u8`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:151:24
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:147:24
    |
 LL | const _NU16_SUB: u16 = 1u16 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:152:28
+error[E0080]: attempt to compute `1_u16 - 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:148:28
    |
 LL | const _NU16_SUB_P: &u16 = &(1u16 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u16 - 5_u16`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:154:24
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:150:24
    |
 LL | const _NU32_SUB: u32 = 1u32 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:155:28
+error[E0080]: attempt to compute `1_u32 - 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:151:28
    |
 LL | const _NU32_SUB_P: &u32 = &(1u32 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u32 - 5_u32`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:157:24
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:153:24
    |
 LL | const _NU64_SUB: u64 = 1u64 - 5;
-   |                        ^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:158:28
+error[E0080]: attempt to compute `1_u64 - 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:154:28
    |
 LL | const _NU64_SUB_P: &u64 = &(1u64 - 5);
-   |                            ^^^^^^^^^^ attempt to compute `1_u64 - 5_u64`, which would overflow
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:160:26
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:156:26
    |
 LL | const _NU128_SUB: u128 = 1u128 - 5;
-   |                          ^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:161:30
+error[E0080]: attempt to compute `1_u128 - 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:157:30
    |
 LL | const _NU128_SUB_P: &u128 = &(1u128 - 5);
-   |                              ^^^^^^^^^^^ attempt to compute `1_u128 - 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:163:28
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:159:28
    |
 LL | const _NISIZE_SUB: isize = -5isize - isize::MAX;
-   |                            ^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                            ^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:164:32
+error[E0080]: attempt to compute `-5_isize - isize::MAX`, which would overflow
+  --> $DIR/overflowing-consts.rs:160:32
    |
 LL | const _NISIZE_SUB_P: &isize = &(-5isize - isize::MAX);
-   |                                ^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `-5_isize - isize::MAX`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:166:28
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:162:28
    |
-LL | const _NUSIZE_SUB: usize = 1usize - 5 ;
-   |                            ^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB: usize = 1usize - 5;
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:167:32
+error[E0080]: attempt to compute `1_usize - 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:163:32
    |
-LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5 );
-   |                                ^^^^^^^^^^^^^ attempt to compute `1_usize - 5_usize`, which would overflow
+LL | const _NUSIZE_SUB_P: &usize = &(1usize - 5);
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:171:22
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:166:22
    |
 LL | const _NI8_MUL: i8 = i8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:172:26
+error[E0080]: attempt to compute `i8::MAX * 5_i8`, which would overflow
+  --> $DIR/overflowing-consts.rs:167:26
    |
 LL | const _NI8_MUL_P: &i8 = &(i8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `i8::MAX * 5_i8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:174:24
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:169:24
    |
 LL | const _NI16_MUL: i16 = i16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:175:28
+error[E0080]: attempt to compute `i16::MAX * 5_i16`, which would overflow
+  --> $DIR/overflowing-consts.rs:170:28
    |
 LL | const _NI16_MUL_P: &i16 = &(i16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i16::MAX * 5_i16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:177:24
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:172:24
    |
 LL | const _NI32_MUL: i32 = i32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:178:28
+error[E0080]: attempt to compute `i32::MAX * 5_i32`, which would overflow
+  --> $DIR/overflowing-consts.rs:173:28
    |
 LL | const _NI32_MUL_P: &i32 = &(i32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i32::MAX * 5_i32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:180:24
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:175:24
    |
 LL | const _NI64_MUL: i64 = i64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:181:28
+error[E0080]: attempt to compute `i64::MAX * 5_i64`, which would overflow
+  --> $DIR/overflowing-consts.rs:176:28
    |
 LL | const _NI64_MUL_P: &i64 = &(i64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `i64::MAX * 5_i64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:183:26
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:178:26
    |
 LL | const _NI128_MUL: i128 = i128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:184:30
+error[E0080]: attempt to compute `i128::MAX * 5_i128`, which would overflow
+  --> $DIR/overflowing-consts.rs:179:30
    |
 LL | const _NI128_MUL_P: &i128 = &(i128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `i128::MAX * 5_i128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:186:22
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:181:22
    |
 LL | const _NU8_MUL: u8 = u8::MAX * 5;
-   |                      ^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                      ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:187:26
+error[E0080]: attempt to compute `u8::MAX * 5_u8`, which would overflow
+  --> $DIR/overflowing-consts.rs:182:26
    |
 LL | const _NU8_MUL_P: &u8 = &(u8::MAX * 5);
-   |                          ^^^^^^^^^^^^^ attempt to compute `u8::MAX * 5_u8`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:189:24
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:184:24
    |
 LL | const _NU16_MUL: u16 = u16::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:190:28
+error[E0080]: attempt to compute `u16::MAX * 5_u16`, which would overflow
+  --> $DIR/overflowing-consts.rs:185:28
    |
 LL | const _NU16_MUL_P: &u16 = &(u16::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u16::MAX * 5_u16`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:192:24
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:187:24
    |
 LL | const _NU32_MUL: u32 = u32::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:193:28
+error[E0080]: attempt to compute `u32::MAX * 5_u32`, which would overflow
+  --> $DIR/overflowing-consts.rs:188:28
    |
 LL | const _NU32_MUL_P: &u32 = &(u32::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u32::MAX * 5_u32`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:195:24
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:190:24
    |
 LL | const _NU64_MUL: u64 = u64::MAX * 5;
-   |                        ^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:196:28
+error[E0080]: attempt to compute `u64::MAX * 5_u64`, which would overflow
+  --> $DIR/overflowing-consts.rs:191:28
    |
 LL | const _NU64_MUL_P: &u64 = &(u64::MAX * 5);
-   |                            ^^^^^^^^^^^^^^ attempt to compute `u64::MAX * 5_u64`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:198:26
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:193:26
    |
 LL | const _NU128_MUL: u128 = u128::MAX * 5;
-   |                          ^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                          ^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:199:30
+error[E0080]: attempt to compute `u128::MAX * 5_u128`, which would overflow
+  --> $DIR/overflowing-consts.rs:194:30
    |
 LL | const _NU128_MUL_P: &u128 = &(u128::MAX * 5);
-   |                              ^^^^^^^^^^^^^^^ attempt to compute `u128::MAX * 5_u128`, which would overflow
+   |                              ^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:201:28
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:196:28
    |
 LL | const _NISIZE_MUL: isize = isize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:202:32
+error[E0080]: attempt to compute `isize::MAX * 5_isize`, which would overflow
+  --> $DIR/overflowing-consts.rs:197:32
    |
 LL | const _NISIZE_MUL_P: &isize = &(isize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `isize::MAX * 5_isize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:204:28
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:199:28
    |
 LL | const _NUSIZE_MUL: usize = usize::MAX * 5;
-   |                            ^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:205:32
+error[E0080]: attempt to compute `usize::MAX * 5_usize`, which would overflow
+  --> $DIR/overflowing-consts.rs:200:32
    |
 LL | const _NUSIZE_MUL_P: &usize = &(usize::MAX * 5);
-   |                                ^^^^^^^^^^^^^^^^ attempt to compute `usize::MAX * 5_usize`, which would overflow
+   |                                ^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:209:22
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:203:22
    |
 LL | const _NI8_DIV: i8 = 1i8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_i8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:210:26
+error[E0080]: attempt to divide `1_i8` by zero
+  --> $DIR/overflowing-consts.rs:204:26
    |
 LL | const _NI8_DIV_P: &i8 = &(1i8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_i8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:212:24
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:206:24
    |
 LL | const _NI16_DIV: i16 = 1i16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:213:28
+error[E0080]: attempt to divide `1_i16` by zero
+  --> $DIR/overflowing-consts.rs:207:28
    |
 LL | const _NI16_DIV_P: &i16 = &(1i16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:215:24
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:209:24
    |
 LL | const _NI32_DIV: i32 = 1i32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:216:28
+error[E0080]: attempt to divide `1_i32` by zero
+  --> $DIR/overflowing-consts.rs:210:28
    |
 LL | const _NI32_DIV_P: &i32 = &(1i32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:218:24
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:212:24
    |
 LL | const _NI64_DIV: i64 = 1i64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_i64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:219:28
+error[E0080]: attempt to divide `1_i64` by zero
+  --> $DIR/overflowing-consts.rs:213:28
    |
 LL | const _NI64_DIV_P: &i64 = &(1i64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_i64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:221:26
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:215:26
    |
 LL | const _NI128_DIV: i128 = 1i128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:222:30
+error[E0080]: attempt to divide `1_i128` by zero
+  --> $DIR/overflowing-consts.rs:216:30
    |
 LL | const _NI128_DIV_P: &i128 = &(1i128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_i128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:224:22
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:218:22
    |
 LL | const _NU8_DIV: u8 = 1u8 / 0;
-   |                      ^^^^^^^ attempt to divide `1_u8` by zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:225:26
+error[E0080]: attempt to divide `1_u8` by zero
+  --> $DIR/overflowing-consts.rs:219:26
    |
 LL | const _NU8_DIV_P: &u8 = &(1u8 / 0);
-   |                          ^^^^^^^^^ attempt to divide `1_u8` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:227:24
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:221:24
    |
 LL | const _NU16_DIV: u16 = 1u16 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u16` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:228:28
+error[E0080]: attempt to divide `1_u16` by zero
+  --> $DIR/overflowing-consts.rs:222:28
    |
 LL | const _NU16_DIV_P: &u16 = &(1u16 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u16` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:230:24
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:224:24
    |
 LL | const _NU32_DIV: u32 = 1u32 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u32` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:231:28
+error[E0080]: attempt to divide `1_u32` by zero
+  --> $DIR/overflowing-consts.rs:225:28
    |
 LL | const _NU32_DIV_P: &u32 = &(1u32 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u32` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:233:24
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:227:24
    |
 LL | const _NU64_DIV: u64 = 1u64 / 0;
-   |                        ^^^^^^^^ attempt to divide `1_u64` by zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:234:28
+error[E0080]: attempt to divide `1_u64` by zero
+  --> $DIR/overflowing-consts.rs:228:28
    |
 LL | const _NU64_DIV_P: &u64 = &(1u64 / 0);
-   |                            ^^^^^^^^^^ attempt to divide `1_u64` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:236:26
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:230:26
    |
 LL | const _NU128_DIV: u128 = 1u128 / 0;
-   |                          ^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:237:30
+error[E0080]: attempt to divide `1_u128` by zero
+  --> $DIR/overflowing-consts.rs:231:30
    |
 LL | const _NU128_DIV_P: &u128 = &(1u128 / 0);
-   |                              ^^^^^^^^^^^ attempt to divide `1_u128` by zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:239:28
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:233:28
    |
 LL | const _NISIZE_DIV: isize = 1isize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:240:32
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/overflowing-consts.rs:234:32
    |
 LL | const _NISIZE_DIV_P: &isize = &(1isize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_isize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:242:28
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:236:28
    |
 LL | const _NUSIZE_DIV: usize = 1usize / 0;
-   |                            ^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:243:32
+error[E0080]: attempt to divide `1_usize` by zero
+  --> $DIR/overflowing-consts.rs:237:32
    |
 LL | const _NUSIZE_DIV_P: &usize = &(1usize / 0);
-   |                                ^^^^^^^^^^^^ attempt to divide `1_usize` by zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:246:22
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:240:22
    |
 LL | const _NI8_MOD: i8 = 1i8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:247:26
+error[E0080]: attempt to calculate the remainder of `1_i8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:241:26
    |
 LL | const _NI8_MOD_P: &i8 = &(1i8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:249:24
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:243:24
    |
 LL | const _NI16_MOD: i16 = 1i16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:250:28
+error[E0080]: attempt to calculate the remainder of `1_i16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:244:28
    |
 LL | const _NI16_MOD_P: &i16 = &(1i16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:252:24
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:246:24
    |
 LL | const _NI32_MOD: i32 = 1i32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:253:28
+error[E0080]: attempt to calculate the remainder of `1_i32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:247:28
    |
 LL | const _NI32_MOD_P: &i32 = &(1i32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:255:24
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:249:24
    |
 LL | const _NI64_MOD: i64 = 1i64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:256:28
+error[E0080]: attempt to calculate the remainder of `1_i64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:250:28
    |
 LL | const _NI64_MOD_P: &i64 = &(1i64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:258:26
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:252:26
    |
 LL | const _NI128_MOD: i128 = 1i128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:259:30
+error[E0080]: attempt to calculate the remainder of `1_i128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:253:30
    |
 LL | const _NI128_MOD_P: &i128 = &(1i128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:261:22
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:255:22
    |
 LL | const _NU8_MOD: u8 = 1u8 % 0;
-   |                      ^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                      ^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:262:26
+error[E0080]: attempt to calculate the remainder of `1_u8` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:256:26
    |
 LL | const _NU8_MOD_P: &u8 = &(1u8 % 0);
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u8` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:264:24
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:258:24
    |
 LL | const _NU16_MOD: u16 = 1u16 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:265:28
+error[E0080]: attempt to calculate the remainder of `1_u16` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:259:28
    |
 LL | const _NU16_MOD_P: &u16 = &(1u16 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u16` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:267:24
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:261:24
    |
 LL | const _NU32_MOD: u32 = 1u32 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:268:28
+error[E0080]: attempt to calculate the remainder of `1_u32` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:262:28
    |
 LL | const _NU32_MOD_P: &u32 = &(1u32 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u32` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:270:24
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:264:24
    |
 LL | const _NU64_MOD: u64 = 1u64 % 0;
-   |                        ^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                        ^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:271:28
+error[E0080]: attempt to calculate the remainder of `1_u64` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:265:28
    |
 LL | const _NU64_MOD_P: &u64 = &(1u64 % 0);
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_u64` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:273:26
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:267:26
    |
 LL | const _NU128_MOD: u128 = 1u128 % 0;
-   |                          ^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                          ^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:274:30
+error[E0080]: attempt to calculate the remainder of `1_u128` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:268:30
    |
 LL | const _NU128_MOD_P: &u128 = &(1u128 % 0);
-   |                              ^^^^^^^^^^^ attempt to calculate the remainder of `1_u128` with a divisor of zero
+   |                              ^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:276:28
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:270:28
    |
 LL | const _NISIZE_MOD: isize = 1isize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:277:32
+error[E0080]: attempt to calculate the remainder of `1_isize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:271:32
    |
 LL | const _NISIZE_MOD_P: &isize = &(1isize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:279:28
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:273:28
    |
 LL | const _NUSIZE_MOD: usize = 1usize % 0;
-   |                            ^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                            ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:280:32
+error[E0080]: attempt to calculate the remainder of `1_usize` with a divisor of zero
+  --> $DIR/overflowing-consts.rs:274:32
    |
 LL | const _NUSIZE_MOD_P: &usize = &(1usize % 0);
-   |                                ^^^^^^^^^^^^ attempt to calculate the remainder of `1_usize` with a divisor of zero
+   |                                ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:284:24
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:277:24
    |
 LL | const _NI32_OOB: i32 = [1, 2, 3][4];
-   |                        ^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                        ^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/overflowing-consts.rs:285:28
+error[E0080]: index out of bounds: the length is 3 but the index is 4
+  --> $DIR/overflowing-consts.rs:278:28
    |
 LL | const _NI32_OOB_P: &i32 = &([1, 2, 3][4]);
-   |                            ^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
+   |                            ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 170 previous errors
 
diff --git a/tests/ui/consts/overflowing-consts.rs b/tests/ui/consts/overflowing-consts.rs
index 5ff205ce58e..7c008573b87 100644
--- a/tests/ui/consts/overflowing-consts.rs
+++ b/tests/ui/consts/overflowing-consts.rs
@@ -9,280 +9,272 @@
 //@ normalize-stderr: "shift left by `(64|32)_usize`, which" -> "shift left by `%BITS%`, which"
 //@ normalize-stderr: "shift right by `(64|32)_usize`, which" -> "shift right by `%BITS%`, which"
 
-
 #[cfg(target_pointer_width = "32")]
 const BITS: usize = 32;
 #[cfg(target_pointer_width = "64")]
 const BITS: usize = 64;
 
 // Shift left
-const _NI8_SHL: i8 = 1i8 << 8; //~ ERROR: evaluation of constant value failed
-const _NI8_SHL_P: &i8 = &(1i8 << 8); //~ ERROR: evaluation of constant value failed
-
-const _NI16_SHL: i16 = 1i16 << 16; //~ ERROR: evaluation of constant value failed
-const _NI16_SHL_P: &i16 = &(1i16 << 16); //~ ERROR: evaluation of constant value failed
+const _NI8_SHL: i8 = 1i8 << 8; //~ ERROR: overflow
+const _NI8_SHL_P: &i8 = &(1i8 << 8); //~ ERROR: overflow
 
-const _NI32_SHL: i32 = 1i32 << 32; //~ ERROR: evaluation of constant value failed
-const _NI32_SHL_P: &i32 = &(1i32 << 32); //~ ERROR: evaluation of constant value failed
+const _NI16_SHL: i16 = 1i16 << 16; //~ ERROR: overflow
+const _NI16_SHL_P: &i16 = &(1i16 << 16); //~ ERROR: overflow
 
-const _NI64_SHL: i64 = 1i64 << 64; //~ ERROR: evaluation of constant value failed
-const _NI64_SHL_P: &i64 = &(1i64 << 64); //~ ERROR: evaluation of constant value failed
+const _NI32_SHL: i32 = 1i32 << 32; //~ ERROR: overflow
+const _NI32_SHL_P: &i32 = &(1i32 << 32); //~ ERROR: overflow
 
-const _NI128_SHL: i128 = 1i128 << 128; //~ ERROR: evaluation of constant value failed
-const _NI128_SHL_P: &i128 = &(1i128 << 128); //~ ERROR: evaluation of constant value failed
+const _NI64_SHL: i64 = 1i64 << 64; //~ ERROR: overflow
+const _NI64_SHL_P: &i64 = &(1i64 << 64); //~ ERROR: overflow
 
-const _NU8_SHL: u8 = 1u8 << 8; //~ ERROR: evaluation of constant value failed
-const _NU8_SHL_P: &u8 = &(1u8 << 8); //~ ERROR: evaluation of constant value failed
+const _NI128_SHL: i128 = 1i128 << 128; //~ ERROR: overflow
+const _NI128_SHL_P: &i128 = &(1i128 << 128); //~ ERROR: overflow
 
-const _NU16_SHL: u16 = 1u16 << 16; //~ ERROR: evaluation of constant value failed
-const _NU16_SHL_P: &u16 = &(1u16 << 16); //~ ERROR: evaluation of constant value failed
+const _NU8_SHL: u8 = 1u8 << 8; //~ ERROR: overflow
+const _NU8_SHL_P: &u8 = &(1u8 << 8); //~ ERROR: overflow
 
-const _NU32_SHL: u32 = 1u32 << 32; //~ ERROR: evaluation of constant value failed
-const _NU32_SHL_P: &u32 = &(1u32 << 32); //~ ERROR: evaluation of constant value failed
+const _NU16_SHL: u16 = 1u16 << 16; //~ ERROR: overflow
+const _NU16_SHL_P: &u16 = &(1u16 << 16); //~ ERROR: overflow
 
-const _NU64_SHL: u64 = 1u64 << 64; //~ ERROR: evaluation of constant value failed
-const _NU64_SHL_P: &u64 = &(1u64 << 64); //~ ERROR: evaluation of constant value failed
+const _NU32_SHL: u32 = 1u32 << 32; //~ ERROR: overflow
+const _NU32_SHL_P: &u32 = &(1u32 << 32); //~ ERROR: overflow
 
-const _NU128_SHL: u128 = 1u128 << 128; //~ ERROR: evaluation of constant value failed
-const _NU128_SHL_P: &u128 = &(1u128 << 128); //~ ERROR: evaluation of constant value failed
+const _NU64_SHL: u64 = 1u64 << 64; //~ ERROR: overflow
+const _NU64_SHL_P: &u64 = &(1u64 << 64); //~ ERROR: overflow
 
-const _NISIZE_SHL: isize = 1isize << BITS; //~ ERROR: evaluation of constant value failed
-const _NISIZE_SHL_P: &isize = &(1isize << BITS); //~ ERROR: evaluation of constant value failed
+const _NU128_SHL: u128 = 1u128 << 128; //~ ERROR: overflow
+const _NU128_SHL_P: &u128 = &(1u128 << 128); //~ ERROR: overflow
 
-const _NUSIZE_SHL: usize = 1usize << BITS; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_SHL_P: &usize = &(1usize << BITS); //~ ERROR: evaluation of constant value failed
+const _NISIZE_SHL: isize = 1isize << BITS; //~ ERROR: overflow
+const _NISIZE_SHL_P: &isize = &(1isize << BITS); //~ ERROR: overflow
 
+const _NUSIZE_SHL: usize = 1usize << BITS; //~ ERROR: overflow
+const _NUSIZE_SHL_P: &usize = &(1usize << BITS); //~ ERROR: overflow
 
 // Shift right
-const _NI8_SHR: i8 = 1i8 >> 8; //~ ERROR: evaluation of constant value failed
-const _NI8_SHR_P: &i8 = &(1i8 >> 8); //~ ERROR: evaluation of constant value failed
+const _NI8_SHR: i8 = 1i8 >> 8; //~ ERROR: overflow
+const _NI8_SHR_P: &i8 = &(1i8 >> 8); //~ ERROR: overflow
 
-const _NI16_SHR: i16 = 1i16 >> 16; //~ ERROR: evaluation of constant value failed
-const _NI16_SHR_P: &i16 = &(1i16 >> 16); //~ ERROR: evaluation of constant value failed
+const _NI16_SHR: i16 = 1i16 >> 16; //~ ERROR: overflow
+const _NI16_SHR_P: &i16 = &(1i16 >> 16); //~ ERROR: overflow
 
-const _NI32_SHR: i32 = 1i32 >> 32; //~ ERROR: evaluation of constant value failed
-const _NI32_SHR_P: &i32 = &(1i32 >> 32); //~ ERROR: evaluation of constant value failed
+const _NI32_SHR: i32 = 1i32 >> 32; //~ ERROR: overflow
+const _NI32_SHR_P: &i32 = &(1i32 >> 32); //~ ERROR: overflow
 
-const _NI64_SHR: i64 = 1i64 >> 64; //~ ERROR: evaluation of constant value failed
-const _NI64_SHR_P: &i64 = &(1i64 >> 64); //~ ERROR: evaluation of constant value failed
+const _NI64_SHR: i64 = 1i64 >> 64; //~ ERROR: overflow
+const _NI64_SHR_P: &i64 = &(1i64 >> 64); //~ ERROR: overflow
 
-const _NI128_SHR: i128 = 1i128 >> 128; //~ ERROR: evaluation of constant value failed
-const _NI128_SHR_P: &i128 = &(1i128 >> 128); //~ ERROR: evaluation of constant value failed
+const _NI128_SHR: i128 = 1i128 >> 128; //~ ERROR: overflow
+const _NI128_SHR_P: &i128 = &(1i128 >> 128); //~ ERROR: overflow
 
-const _NU8_SHR: u8 = 1u8 >> 8; //~ ERROR: evaluation of constant value failed
-const _NU8_SHR_P: &u8 = &(1u8 >> 8); //~ ERROR: evaluation of constant value failed
+const _NU8_SHR: u8 = 1u8 >> 8; //~ ERROR: overflow
+const _NU8_SHR_P: &u8 = &(1u8 >> 8); //~ ERROR: overflow
 
-const _NU16_SHR: u16 = 1u16 >> 16; //~ ERROR: evaluation of constant value failed
-const _NU16_SHR_P: &u16 = &(1u16 >> 16); //~ ERROR: evaluation of constant value failed
+const _NU16_SHR: u16 = 1u16 >> 16; //~ ERROR: overflow
+const _NU16_SHR_P: &u16 = &(1u16 >> 16); //~ ERROR: overflow
 
-const _NU32_SHR: u32 = 1u32 >> 32; //~ ERROR: evaluation of constant value failed
-const _NU32_SHR_P: &u32 = &(1u32 >> 32); //~ ERROR: evaluation of constant value failed
+const _NU32_SHR: u32 = 1u32 >> 32; //~ ERROR: overflow
+const _NU32_SHR_P: &u32 = &(1u32 >> 32); //~ ERROR: overflow
 
-const _NU64_SHR: u64 = 1u64 >> 64; //~ ERROR: evaluation of constant value failed
-const _NU64_SHR_P: &u64 = &(1u64 >> 64); //~ ERROR: evaluation of constant value failed
+const _NU64_SHR: u64 = 1u64 >> 64; //~ ERROR: overflow
+const _NU64_SHR_P: &u64 = &(1u64 >> 64); //~ ERROR: overflow
 
-const _NU128_SHR: u128 = 1u128 >> 128; //~ ERROR: evaluation of constant value failed
-const _NU128_SHR_P: &u128 = &(1u128 >> 128); //~ ERROR: evaluation of constant value failed
+const _NU128_SHR: u128 = 1u128 >> 128; //~ ERROR: overflow
+const _NU128_SHR_P: &u128 = &(1u128 >> 128); //~ ERROR: overflow
 
-const _NISIZE_SHR: isize = 1isize >> BITS; //~ ERROR: evaluation of constant value failed
-const _NISIZE_SHR_P: &isize = &(1isize >> BITS); //~ ERROR: evaluation of constant value failed
-
-const _NUSIZE_SHR: usize = 1usize >> BITS; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_SHR_P: &usize = &(1usize >> BITS); //~ ERROR: evaluation of constant value failed
+const _NISIZE_SHR: isize = 1isize >> BITS; //~ ERROR: overflow
+const _NISIZE_SHR_P: &isize = &(1isize >> BITS); //~ ERROR: overflow
 
+const _NUSIZE_SHR: usize = 1usize >> BITS; //~ ERROR: overflow
+const _NUSIZE_SHR_P: &usize = &(1usize >> BITS); //~ ERROR: overflow
 
 // Addition
-const _NI8_ADD: i8 = 1i8 + i8::MAX; //~ ERROR: evaluation of constant value failed
-const _NI8_ADD_P: &i8 = &(1i8 + i8::MAX); //~ ERROR: evaluation of constant value failed
-
-const _NI16_ADD: i16 = 1i16 + i16::MAX; //~ ERROR: evaluation of constant value failed
-const _NI16_ADD_P: &i16 = &(1i16 + i16::MAX); //~ ERROR: evaluation of constant value failed
+const _NI8_ADD: i8 = 1i8 + i8::MAX; //~ ERROR: overflow
+const _NI8_ADD_P: &i8 = &(1i8 + i8::MAX); //~ ERROR: overflow
 
-const _NI32_ADD: i32 = 1i32 + i32::MAX; //~ ERROR: evaluation of constant value failed
-const _NI32_ADD_P: &i32 = &(1i32 + i32::MAX); //~ ERROR: evaluation of constant value failed
+const _NI16_ADD: i16 = 1i16 + i16::MAX; //~ ERROR: overflow
+const _NI16_ADD_P: &i16 = &(1i16 + i16::MAX); //~ ERROR: overflow
 
-const _NI64_ADD: i64 = 1i64 + i64::MAX; //~ ERROR: evaluation of constant value failed
-const _NI64_ADD_P: &i64 = &(1i64 + i64::MAX); //~ ERROR: evaluation of constant value failed
+const _NI32_ADD: i32 = 1i32 + i32::MAX; //~ ERROR: overflow
+const _NI32_ADD_P: &i32 = &(1i32 + i32::MAX); //~ ERROR: overflow
 
-const _NI128_ADD: i128 = 1i128 + i128::MAX; //~ ERROR: evaluation of constant value failed
-const _NI128_ADD_P: &i128 = &(1i128 + i128::MAX); //~ ERROR: evaluation of constant value failed
+const _NI64_ADD: i64 = 1i64 + i64::MAX; //~ ERROR: overflow
+const _NI64_ADD_P: &i64 = &(1i64 + i64::MAX); //~ ERROR: overflow
 
-const _NU8_ADD: u8 = 1u8 + u8::MAX; //~ ERROR: evaluation of constant value failed
-const _NU8_ADD_P: &u8 = &(1u8 + u8::MAX); //~ ERROR: evaluation of constant value failed
+const _NI128_ADD: i128 = 1i128 + i128::MAX; //~ ERROR: overflow
+const _NI128_ADD_P: &i128 = &(1i128 + i128::MAX); //~ ERROR: overflow
 
-const _NU16_ADD: u16 = 1u16 + u16::MAX; //~ ERROR: evaluation of constant value failed
-const _NU16_ADD_P: &u16 = &(1u16 + u16::MAX); //~ ERROR: evaluation of constant value failed
+const _NU8_ADD: u8 = 1u8 + u8::MAX; //~ ERROR: overflow
+const _NU8_ADD_P: &u8 = &(1u8 + u8::MAX); //~ ERROR: overflow
 
-const _NU32_ADD: u32 = 1u32 + u32::MAX; //~ ERROR: evaluation of constant value failed
-const _NU32_ADD_P: &u32 = &(1u32 + u32::MAX); //~ ERROR: evaluation of constant value failed
+const _NU16_ADD: u16 = 1u16 + u16::MAX; //~ ERROR: overflow
+const _NU16_ADD_P: &u16 = &(1u16 + u16::MAX); //~ ERROR: overflow
 
-const _NU64_ADD: u64 = 1u64 + u64::MAX; //~ ERROR: evaluation of constant value failed
-const _NU64_ADD_P: &u64 = &(1u64 + u64::MAX); //~ ERROR: evaluation of constant value failed
+const _NU32_ADD: u32 = 1u32 + u32::MAX; //~ ERROR: overflow
+const _NU32_ADD_P: &u32 = &(1u32 + u32::MAX); //~ ERROR: overflow
 
-const _NU128_ADD: u128 = 1u128 + u128::MAX; //~ ERROR: evaluation of constant value failed
-const _NU128_ADD_P: &u128 = &(1u128 + u128::MAX); //~ ERROR: evaluation of constant value failed
+const _NU64_ADD: u64 = 1u64 + u64::MAX; //~ ERROR: overflow
+const _NU64_ADD_P: &u64 = &(1u64 + u64::MAX); //~ ERROR: overflow
 
-const _NISIZE_ADD: isize = 1isize + isize::MAX; //~ ERROR: evaluation of constant value failed
-const _NISIZE_ADD_P: &isize = &(1isize + isize::MAX); //~ ERROR: evaluation of constant value failed
+const _NU128_ADD: u128 = 1u128 + u128::MAX; //~ ERROR: overflow
+const _NU128_ADD_P: &u128 = &(1u128 + u128::MAX); //~ ERROR: overflow
 
-const _NUSIZE_ADD: usize = 1usize + usize::MAX; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_ADD_P: &usize = &(1usize + usize::MAX); //~ ERROR: evaluation of constant value failed
+const _NISIZE_ADD: isize = 1isize + isize::MAX; //~ ERROR: overflow
+const _NISIZE_ADD_P: &isize = &(1isize + isize::MAX); //~ ERROR: overflow
 
+const _NUSIZE_ADD: usize = 1usize + usize::MAX; //~ ERROR: overflow
+const _NUSIZE_ADD_P: &usize = &(1usize + usize::MAX); //~ ERROR: overflow
 
 // Subtraction
-const _NI8_SUB: i8 = -5i8 - i8::MAX; //~ ERROR: evaluation of constant value failed
-const _NI8_SUB_P: &i8 = &(-5i8 - i8::MAX); //~ ERROR: evaluation of constant value failed
+const _NI8_SUB: i8 = -5i8 - i8::MAX; //~ ERROR: overflow
+const _NI8_SUB_P: &i8 = &(-5i8 - i8::MAX); //~ ERROR: overflow
 
-const _NI16_SUB: i16 = -5i16 - i16::MAX; //~ ERROR: evaluation of constant value failed
-const _NI16_SUB_P: &i16 = &(-5i16 - i16::MAX); //~ ERROR: evaluation of constant value failed
+const _NI16_SUB: i16 = -5i16 - i16::MAX; //~ ERROR: overflow
+const _NI16_SUB_P: &i16 = &(-5i16 - i16::MAX); //~ ERROR: overflow
 
-const _NI32_SUB: i32 = -5i32 - i32::MAX; //~ ERROR: evaluation of constant value failed
-const _NI32_SUB_P: &i32 = &(-5i32 - i32::MAX); //~ ERROR: evaluation of constant value failed
+const _NI32_SUB: i32 = -5i32 - i32::MAX; //~ ERROR: overflow
+const _NI32_SUB_P: &i32 = &(-5i32 - i32::MAX); //~ ERROR: overflow
 
-const _NI64_SUB: i64 = -5i64 - i64::MAX; //~ ERROR: evaluation of constant value failed
-const _NI64_SUB_P: &i64 = &(-5i64 - i64::MAX); //~ ERROR: evaluation of constant value failed
+const _NI64_SUB: i64 = -5i64 - i64::MAX; //~ ERROR: overflow
+const _NI64_SUB_P: &i64 = &(-5i64 - i64::MAX); //~ ERROR: overflow
 
-const _NI128_SUB: i128 = -5i128 - i128::MAX; //~ ERROR: evaluation of constant value failed
-const _NI128_SUB_P: &i128 = &(-5i128 - i128::MAX); //~ ERROR: evaluation of constant value failed
+const _NI128_SUB: i128 = -5i128 - i128::MAX; //~ ERROR: overflow
+const _NI128_SUB_P: &i128 = &(-5i128 - i128::MAX); //~ ERROR: overflow
 
-const _NU8_SUB: u8 = 1u8 - 5; //~ ERROR: evaluation of constant value failed
-const _NU8_SUB_P: &u8 = &(1u8 - 5); //~ ERROR: evaluation of constant value failed
+const _NU8_SUB: u8 = 1u8 - 5; //~ ERROR: overflow
+const _NU8_SUB_P: &u8 = &(1u8 - 5); //~ ERROR: overflow
 
-const _NU16_SUB: u16 = 1u16 - 5; //~ ERROR: evaluation of constant value failed
-const _NU16_SUB_P: &u16 = &(1u16 - 5); //~ ERROR: evaluation of constant value failed
+const _NU16_SUB: u16 = 1u16 - 5; //~ ERROR: overflow
+const _NU16_SUB_P: &u16 = &(1u16 - 5); //~ ERROR: overflow
 
-const _NU32_SUB: u32 = 1u32 - 5; //~ ERROR: evaluation of constant value failed
-const _NU32_SUB_P: &u32 = &(1u32 - 5); //~ ERROR: evaluation of constant value failed
+const _NU32_SUB: u32 = 1u32 - 5; //~ ERROR: overflow
+const _NU32_SUB_P: &u32 = &(1u32 - 5); //~ ERROR: overflow
 
-const _NU64_SUB: u64 = 1u64 - 5; //~ ERROR: evaluation of constant value failed
-const _NU64_SUB_P: &u64 = &(1u64 - 5); //~ ERROR: evaluation of constant value failed
+const _NU64_SUB: u64 = 1u64 - 5; //~ ERROR: overflow
+const _NU64_SUB_P: &u64 = &(1u64 - 5); //~ ERROR: overflow
 
-const _NU128_SUB: u128 = 1u128 - 5; //~ ERROR: evaluation of constant value failed
-const _NU128_SUB_P: &u128 = &(1u128 - 5); //~ ERROR: evaluation of constant value failed
+const _NU128_SUB: u128 = 1u128 - 5; //~ ERROR: overflow
+const _NU128_SUB_P: &u128 = &(1u128 - 5); //~ ERROR: overflow
 
-const _NISIZE_SUB: isize = -5isize - isize::MAX; //~ ERROR: evaluation of constant value failed
-const _NISIZE_SUB_P: &isize = &(-5isize - isize::MAX); //~ ERROR: evaluation of constant value failed
-
-const _NUSIZE_SUB: usize = 1usize - 5 ; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_SUB_P: &usize = &(1usize - 5 ); //~ ERROR: evaluation of constant value failed
+const _NISIZE_SUB: isize = -5isize - isize::MAX; //~ ERROR: overflow
+const _NISIZE_SUB_P: &isize = &(-5isize - isize::MAX); //~ ERROR: overflow
 
+const _NUSIZE_SUB: usize = 1usize - 5; //~ ERROR: overflow
+const _NUSIZE_SUB_P: &usize = &(1usize - 5); //~ ERROR: overflow
 
 // Multiplication
-const _NI8_MUL: i8 = i8::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NI8_MUL_P: &i8 = &(i8::MAX * 5); //~ ERROR: evaluation of constant value failed
-
-const _NI16_MUL: i16 = i16::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NI16_MUL_P: &i16 = &(i16::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NI8_MUL: i8 = i8::MAX * 5; //~ ERROR: overflow
+const _NI8_MUL_P: &i8 = &(i8::MAX * 5); //~ ERROR: overflow
 
-const _NI32_MUL: i32 = i32::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NI32_MUL_P: &i32 = &(i32::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NI16_MUL: i16 = i16::MAX * 5; //~ ERROR: overflow
+const _NI16_MUL_P: &i16 = &(i16::MAX * 5); //~ ERROR: overflow
 
-const _NI64_MUL: i64 = i64::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NI64_MUL_P: &i64 = &(i64::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NI32_MUL: i32 = i32::MAX * 5; //~ ERROR: overflow
+const _NI32_MUL_P: &i32 = &(i32::MAX * 5); //~ ERROR: overflow
 
-const _NI128_MUL: i128 = i128::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NI128_MUL_P: &i128 = &(i128::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NI64_MUL: i64 = i64::MAX * 5; //~ ERROR: overflow
+const _NI64_MUL_P: &i64 = &(i64::MAX * 5); //~ ERROR: overflow
 
-const _NU8_MUL: u8 = u8::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NU8_MUL_P: &u8 = &(u8::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NI128_MUL: i128 = i128::MAX * 5; //~ ERROR: overflow
+const _NI128_MUL_P: &i128 = &(i128::MAX * 5); //~ ERROR: overflow
 
-const _NU16_MUL: u16 = u16::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NU16_MUL_P: &u16 = &(u16::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NU8_MUL: u8 = u8::MAX * 5; //~ ERROR: overflow
+const _NU8_MUL_P: &u8 = &(u8::MAX * 5); //~ ERROR: overflow
 
-const _NU32_MUL: u32 = u32::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NU32_MUL_P: &u32 = &(u32::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NU16_MUL: u16 = u16::MAX * 5; //~ ERROR: overflow
+const _NU16_MUL_P: &u16 = &(u16::MAX * 5); //~ ERROR: overflow
 
-const _NU64_MUL: u64 = u64::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NU64_MUL_P: &u64 = &(u64::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NU32_MUL: u32 = u32::MAX * 5; //~ ERROR: overflow
+const _NU32_MUL_P: &u32 = &(u32::MAX * 5); //~ ERROR: overflow
 
-const _NU128_MUL: u128 = u128::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NU128_MUL_P: &u128 = &(u128::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NU64_MUL: u64 = u64::MAX * 5; //~ ERROR: overflow
+const _NU64_MUL_P: &u64 = &(u64::MAX * 5); //~ ERROR: overflow
 
-const _NISIZE_MUL: isize = isize::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NISIZE_MUL_P: &isize = &(isize::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NU128_MUL: u128 = u128::MAX * 5; //~ ERROR: overflow
+const _NU128_MUL_P: &u128 = &(u128::MAX * 5); //~ ERROR: overflow
 
-const _NUSIZE_MUL: usize = usize::MAX * 5; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_MUL_P: &usize = &(usize::MAX * 5); //~ ERROR: evaluation of constant value failed
+const _NISIZE_MUL: isize = isize::MAX * 5; //~ ERROR: overflow
+const _NISIZE_MUL_P: &isize = &(isize::MAX * 5); //~ ERROR: overflow
 
+const _NUSIZE_MUL: usize = usize::MAX * 5; //~ ERROR: overflow
+const _NUSIZE_MUL_P: &usize = &(usize::MAX * 5); //~ ERROR: overflow
 
 // Division
-const _NI8_DIV: i8 = 1i8 / 0; //~ ERROR: evaluation of constant value failed
-const _NI8_DIV_P: &i8 = &(1i8 / 0); //~ ERROR: evaluation of constant value failed
+const _NI8_DIV: i8 = 1i8 / 0; //~ ERROR: by zero
+const _NI8_DIV_P: &i8 = &(1i8 / 0); //~ ERROR: by zero
 
-const _NI16_DIV: i16 = 1i16 / 0; //~ ERROR: evaluation of constant value failed
-const _NI16_DIV_P: &i16 = &(1i16 / 0); //~ ERROR: evaluation of constant value failed
+const _NI16_DIV: i16 = 1i16 / 0; //~ ERROR: by zero
+const _NI16_DIV_P: &i16 = &(1i16 / 0); //~ ERROR: by zero
 
-const _NI32_DIV: i32 = 1i32 / 0; //~ ERROR: evaluation of constant value failed
-const _NI32_DIV_P: &i32 = &(1i32 / 0); //~ ERROR: evaluation of constant value failed
+const _NI32_DIV: i32 = 1i32 / 0; //~ ERROR: by zero
+const _NI32_DIV_P: &i32 = &(1i32 / 0); //~ ERROR: by zero
 
-const _NI64_DIV: i64 = 1i64 / 0; //~ ERROR: evaluation of constant value failed
-const _NI64_DIV_P: &i64 = &(1i64 / 0); //~ ERROR: evaluation of constant value failed
+const _NI64_DIV: i64 = 1i64 / 0; //~ ERROR: by zero
+const _NI64_DIV_P: &i64 = &(1i64 / 0); //~ ERROR: by zero
 
-const _NI128_DIV: i128 = 1i128 / 0; //~ ERROR: evaluation of constant value failed
-const _NI128_DIV_P: &i128 = &(1i128 / 0); //~ ERROR: evaluation of constant value failed
+const _NI128_DIV: i128 = 1i128 / 0; //~ ERROR: by zero
+const _NI128_DIV_P: &i128 = &(1i128 / 0); //~ ERROR: by zero
 
-const _NU8_DIV: u8 = 1u8 / 0; //~ ERROR: evaluation of constant value failed
-const _NU8_DIV_P: &u8 = &(1u8 / 0); //~ ERROR: evaluation of constant value failed
+const _NU8_DIV: u8 = 1u8 / 0; //~ ERROR: by zero
+const _NU8_DIV_P: &u8 = &(1u8 / 0); //~ ERROR: by zero
 
-const _NU16_DIV: u16 = 1u16 / 0; //~ ERROR: evaluation of constant value failed
-const _NU16_DIV_P: &u16 = &(1u16 / 0); //~ ERROR: evaluation of constant value failed
+const _NU16_DIV: u16 = 1u16 / 0; //~ ERROR: by zero
+const _NU16_DIV_P: &u16 = &(1u16 / 0); //~ ERROR: by zero
 
-const _NU32_DIV: u32 = 1u32 / 0; //~ ERROR: evaluation of constant value failed
-const _NU32_DIV_P: &u32 = &(1u32 / 0); //~ ERROR: evaluation of constant value failed
+const _NU32_DIV: u32 = 1u32 / 0; //~ ERROR: by zero
+const _NU32_DIV_P: &u32 = &(1u32 / 0); //~ ERROR: by zero
 
-const _NU64_DIV: u64 = 1u64 / 0; //~ ERROR: evaluation of constant value failed
-const _NU64_DIV_P: &u64 = &(1u64 / 0); //~ ERROR: evaluation of constant value failed
+const _NU64_DIV: u64 = 1u64 / 0; //~ ERROR: by zero
+const _NU64_DIV_P: &u64 = &(1u64 / 0); //~ ERROR: by zero
 
-const _NU128_DIV: u128 = 1u128 / 0; //~ ERROR: evaluation of constant value failed
-const _NU128_DIV_P: &u128 = &(1u128 / 0); //~ ERROR: evaluation of constant value failed
+const _NU128_DIV: u128 = 1u128 / 0; //~ ERROR: by zero
+const _NU128_DIV_P: &u128 = &(1u128 / 0); //~ ERROR: by zero
 
-const _NISIZE_DIV: isize = 1isize / 0; //~ ERROR: evaluation of constant value failed
-const _NISIZE_DIV_P: &isize = &(1isize / 0); //~ ERROR: evaluation of constant value failed
+const _NISIZE_DIV: isize = 1isize / 0; //~ ERROR: by zero
+const _NISIZE_DIV_P: &isize = &(1isize / 0); //~ ERROR: by zero
 
-const _NUSIZE_DIV: usize = 1usize / 0; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_DIV_P: &usize = &(1usize / 0); //~ ERROR: evaluation of constant value failed
+const _NUSIZE_DIV: usize = 1usize / 0; //~ ERROR: by zero
+const _NUSIZE_DIV_P: &usize = &(1usize / 0); //~ ERROR: by zero
 
 // Modulus
-const _NI8_MOD: i8 = 1i8 % 0; //~ ERROR: evaluation of constant value failed
-const _NI8_MOD_P: &i8 = &(1i8 % 0); //~ ERROR: evaluation of constant value failed
+const _NI8_MOD: i8 = 1i8 % 0; //~ ERROR: divisor of zero
+const _NI8_MOD_P: &i8 = &(1i8 % 0); //~ ERROR: divisor of zero
 
-const _NI16_MOD: i16 = 1i16 % 0; //~ ERROR: evaluation of constant value failed
-const _NI16_MOD_P: &i16 = &(1i16 % 0); //~ ERROR: evaluation of constant value failed
+const _NI16_MOD: i16 = 1i16 % 0; //~ ERROR: divisor of zero
+const _NI16_MOD_P: &i16 = &(1i16 % 0); //~ ERROR: divisor of zero
 
-const _NI32_MOD: i32 = 1i32 % 0; //~ ERROR: evaluation of constant value failed
-const _NI32_MOD_P: &i32 = &(1i32 % 0); //~ ERROR: evaluation of constant value failed
+const _NI32_MOD: i32 = 1i32 % 0; //~ ERROR: divisor of zero
+const _NI32_MOD_P: &i32 = &(1i32 % 0); //~ ERROR: divisor of zero
 
-const _NI64_MOD: i64 = 1i64 % 0; //~ ERROR: evaluation of constant value failed
-const _NI64_MOD_P: &i64 = &(1i64 % 0); //~ ERROR: evaluation of constant value failed
+const _NI64_MOD: i64 = 1i64 % 0; //~ ERROR: divisor of zero
+const _NI64_MOD_P: &i64 = &(1i64 % 0); //~ ERROR: divisor of zero
 
-const _NI128_MOD: i128 = 1i128 % 0; //~ ERROR: evaluation of constant value failed
-const _NI128_MOD_P: &i128 = &(1i128 % 0); //~ ERROR: evaluation of constant value failed
+const _NI128_MOD: i128 = 1i128 % 0; //~ ERROR: divisor of zero
+const _NI128_MOD_P: &i128 = &(1i128 % 0); //~ ERROR: divisor of zero
 
-const _NU8_MOD: u8 = 1u8 % 0; //~ ERROR: evaluation of constant value failed
-const _NU8_MOD_P: &u8 = &(1u8 % 0); //~ ERROR: evaluation of constant value failed
+const _NU8_MOD: u8 = 1u8 % 0; //~ ERROR: divisor of zero
+const _NU8_MOD_P: &u8 = &(1u8 % 0); //~ ERROR: divisor of zero
 
-const _NU16_MOD: u16 = 1u16 % 0; //~ ERROR: evaluation of constant value failed
-const _NU16_MOD_P: &u16 = &(1u16 % 0); //~ ERROR: evaluation of constant value failed
+const _NU16_MOD: u16 = 1u16 % 0; //~ ERROR: divisor of zero
+const _NU16_MOD_P: &u16 = &(1u16 % 0); //~ ERROR: divisor of zero
 
-const _NU32_MOD: u32 = 1u32 % 0; //~ ERROR: evaluation of constant value failed
-const _NU32_MOD_P: &u32 = &(1u32 % 0); //~ ERROR: evaluation of constant value failed
+const _NU32_MOD: u32 = 1u32 % 0; //~ ERROR: divisor of zero
+const _NU32_MOD_P: &u32 = &(1u32 % 0); //~ ERROR: divisor of zero
 
-const _NU64_MOD: u64 = 1u64 % 0; //~ ERROR: evaluation of constant value failed
-const _NU64_MOD_P: &u64 = &(1u64 % 0); //~ ERROR: evaluation of constant value failed
+const _NU64_MOD: u64 = 1u64 % 0; //~ ERROR: divisor of zero
+const _NU64_MOD_P: &u64 = &(1u64 % 0); //~ ERROR: divisor of zero
 
-const _NU128_MOD: u128 = 1u128 % 0; //~ ERROR: evaluation of constant value failed
-const _NU128_MOD_P: &u128 = &(1u128 % 0); //~ ERROR: evaluation of constant value failed
+const _NU128_MOD: u128 = 1u128 % 0; //~ ERROR: divisor of zero
+const _NU128_MOD_P: &u128 = &(1u128 % 0); //~ ERROR: divisor of zero
 
-const _NISIZE_MOD: isize = 1isize % 0; //~ ERROR: evaluation of constant value failed
-const _NISIZE_MOD_P: &isize = &(1isize % 0); //~ ERROR: evaluation of constant value failed
-
-const _NUSIZE_MOD: usize = 1usize % 0; //~ ERROR: evaluation of constant value failed
-const _NUSIZE_MOD_P: &usize = &(1usize % 0); //~ ERROR: evaluation of constant value failed
+const _NISIZE_MOD: isize = 1isize % 0; //~ ERROR: divisor of zero
+const _NISIZE_MOD_P: &isize = &(1isize % 0); //~ ERROR: divisor of zero
 
+const _NUSIZE_MOD: usize = 1usize % 0; //~ ERROR: divisor of zero
+const _NUSIZE_MOD_P: &usize = &(1usize % 0); //~ ERROR: divisor of zero
 
 // Out of bounds access
-const _NI32_OOB: i32 = [1, 2, 3][4]; //~ ERROR: evaluation of constant value failed
-const _NI32_OOB_P: &i32 = &([1, 2, 3][4]); //~ ERROR: evaluation of constant value failed
-
+const _NI32_OOB: i32 = [1, 2, 3][4]; //~ ERROR: the length is 3 but the index is 4
+const _NI32_OOB_P: &i32 = &([1, 2, 3][4]); //~ ERROR: the length is 3 but the index is 4
 
 pub fn main() {}
diff --git a/tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs b/tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs
index e458a6f98ad..d7977bfba77 100644
--- a/tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs
+++ b/tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs
@@ -11,7 +11,6 @@
 
 pub struct Data([u8; (1 << 47) - 1]);
 const _: &'static Data = &Data([0; (1 << 47) - 1]);
-//~^ERROR: evaluation of constant value failed
-//~| NOTE tried to allocate more memory than available to compiler
+//~^ ERROR: tried to allocate more memory than available to compiler
 
 fn main() {}
diff --git a/tests/ui/consts/promoted_running_out_of_memory_issue-130687.stderr b/tests/ui/consts/promoted_running_out_of_memory_issue-130687.stderr
index 02180c1e4c6..c0e06e9efdf 100644
--- a/tests/ui/consts/promoted_running_out_of_memory_issue-130687.stderr
+++ b/tests/ui/consts/promoted_running_out_of_memory_issue-130687.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: tried to allocate more memory than available to compiler
   --> $DIR/promoted_running_out_of_memory_issue-130687.rs:13:32
    |
 LL | const _: &'static Data = &Data([0; (1 << 47) - 1]);
-   |                                ^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler
+   |                                ^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/promoted_size_overflow.rs b/tests/ui/consts/promoted_size_overflow.rs
index ebd5ab06487..232fb76c75b 100644
--- a/tests/ui/consts/promoted_size_overflow.rs
+++ b/tests/ui/consts/promoted_size_overflow.rs
@@ -1,7 +1,6 @@
 //@ only-64bit
 pub struct Data([u8; usize::MAX >> 2]);
 const _: &'static [Data] = &[];
-//~^ERROR: evaluation of constant value failed
-//~| NOTE too big for the target architecture
+//~^ ERROR: too big for the target architecture
 
 fn main() {}
diff --git a/tests/ui/consts/promoted_size_overflow.stderr b/tests/ui/consts/promoted_size_overflow.stderr
index cfb8260bed0..688dd0c2cab 100644
--- a/tests/ui/consts/promoted_size_overflow.stderr
+++ b/tests/ui/consts/promoted_size_overflow.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: values of the type `[u8; 4611686018427387903]` are too big for the target architecture
   --> $DIR/promoted_size_overflow.rs:3:29
    |
 LL | const _: &'static [Data] = &[];
-   |                             ^^ values of the type `[u8; 4611686018427387903]` are too big for the target architecture
+   |                             ^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/qualif-indirect-mutation-fail.rs b/tests/ui/consts/qualif-indirect-mutation-fail.rs
index 4abb231c29f..b70fca7b864 100644
--- a/tests/ui/consts/qualif-indirect-mutation-fail.rs
+++ b/tests/ui/consts/qualif-indirect-mutation-fail.rs
@@ -15,7 +15,7 @@ pub const A1: () = {
     let b = &mut y;
     std::mem::swap(a, b);
     std::mem::forget(y);
-}; //~ ERROR evaluation of constant value failed
+}; //~ ERROR calling non-const function `<Vec<u8> as Drop>::drop`
 
 // Mutable borrow of a type with drop impl.
 pub const A2: () = {
@@ -26,7 +26,7 @@ pub const A2: () = {
     std::mem::swap(a, b);
     std::mem::forget(y);
     let _z = x; //~ ERROR destructor of
-}; //~ ERROR evaluation of constant value failed
+}; //~ ERROR calling non-const function `<Vec<u8> as Drop>::drop`
 
 // Shared borrow of a type that might be !Freeze and Drop.
 pub const fn g1<T>() {
diff --git a/tests/ui/consts/qualif-indirect-mutation-fail.stderr b/tests/ui/consts/qualif-indirect-mutation-fail.stderr
index dd575e07c20..bdb5ad9dc11 100644
--- a/tests/ui/consts/qualif-indirect-mutation-fail.stderr
+++ b/tests/ui/consts/qualif-indirect-mutation-fail.stderr
@@ -7,11 +7,11 @@ LL |     let mut x = None;
 LL | };
    | - value is dropped here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: calling non-const function `<Vec<u8> as Drop>::drop`
   --> $DIR/qualif-indirect-mutation-fail.rs:18:1
    |
 LL | };
-   | ^ calling non-const function `<Vec<u8> as Drop>::drop`
+   | ^ evaluation of constant value failed
    |
 note: inside `drop_in_place::<Option<String>> - shim(Some(Option<String>))`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
@@ -28,11 +28,11 @@ LL |     let _z = x;
 LL | };
    | - value is dropped here
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: calling non-const function `<Vec<u8> as Drop>::drop`
   --> $DIR/qualif-indirect-mutation-fail.rs:29:1
    |
 LL | };
-   | ^ calling non-const function `<Vec<u8> as Drop>::drop`
+   | ^ evaluation of constant value failed
    |
 note: inside `drop_in_place::<Option<String>> - shim(Some(Option<String>))`
   --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
diff --git a/tests/ui/consts/recursive-zst-static.default.stderr b/tests/ui/consts/recursive-zst-static.default.stderr
index dedca16db8d..af97c945b92 100644
--- a/tests/ui/consts/recursive-zst-static.default.stderr
+++ b/tests/ui/consts/recursive-zst-static.default.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: encountered static that tried to initialize itself with itself
   --> $DIR/recursive-zst-static.rs:10:18
    |
 LL | static FOO: () = FOO;
-   |                  ^^^ encountered static that tried to initialize itself with itself
+   |                  ^^^ could not evaluate static initializer
 
 error[E0391]: cycle detected when evaluating initializer of static `A`
   --> $DIR/recursive-zst-static.rs:13:16
diff --git a/tests/ui/consts/recursive-zst-static.rs b/tests/ui/consts/recursive-zst-static.rs
index a52624fada8..852caae9493 100644
--- a/tests/ui/consts/recursive-zst-static.rs
+++ b/tests/ui/consts/recursive-zst-static.rs
@@ -8,7 +8,7 @@
 // See https://github.com/rust-lang/rust/issues/71078 for more details.
 
 static FOO: () = FOO;
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR encountered static that tried to initialize itself with itself
 
 static A: () = B; //~ ERROR cycle detected when evaluating initializer of static `A`
 static B: () = A;
diff --git a/tests/ui/consts/recursive-zst-static.unleash.stderr b/tests/ui/consts/recursive-zst-static.unleash.stderr
index dedca16db8d..af97c945b92 100644
--- a/tests/ui/consts/recursive-zst-static.unleash.stderr
+++ b/tests/ui/consts/recursive-zst-static.unleash.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: encountered static that tried to initialize itself with itself
   --> $DIR/recursive-zst-static.rs:10:18
    |
 LL | static FOO: () = FOO;
-   |                  ^^^ encountered static that tried to initialize itself with itself
+   |                  ^^^ could not evaluate static initializer
 
 error[E0391]: cycle detected when evaluating initializer of static `A`
   --> $DIR/recursive-zst-static.rs:13:16
diff --git a/tests/ui/consts/recursive.rs b/tests/ui/consts/recursive.rs
index b5703d11310..ed23baf0768 100644
--- a/tests/ui/consts/recursive.rs
+++ b/tests/ui/consts/recursive.rs
@@ -4,6 +4,6 @@ const fn f<T>(x: T) { //~ WARN function cannot return without recursing
     f(x);
 }
 
-const X: () = f(1); //~ ERROR evaluation of constant value failed
+const X: () = f(1); //~ ERROR reached the configured maximum number of stack frames
 
 fn main() {}
diff --git a/tests/ui/consts/recursive.stderr b/tests/ui/consts/recursive.stderr
index fd38b078b94..7721d153729 100644
--- a/tests/ui/consts/recursive.stderr
+++ b/tests/ui/consts/recursive.stderr
@@ -9,11 +9,11 @@ LL |     f(x);
    = help: a `loop` may express intention better if this is on purpose
    = note: `#[warn(unconditional_recursion)]` on by default
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: reached the configured maximum number of stack frames
   --> $DIR/recursive.rs:7:15
    |
 LL | const X: () = f(1);
-   |               ^^^^ reached the configured maximum number of stack frames
+   |               ^^^^ evaluation of constant value failed
    |
 note: [... 126 additional calls inside `f::<i32>` ...]
   --> $DIR/recursive.rs:4:5
diff --git a/tests/ui/consts/required-consts/collect-in-called-fn.noopt.stderr b/tests/ui/consts/required-consts/collect-in-called-fn.noopt.stderr
index 6812b3734ef..3d908b54287 100644
--- a/tests/ui/consts/required-consts/collect-in-called-fn.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-called-fn.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-called-fn.rs:10:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-called-fn.rs:19:17
diff --git a/tests/ui/consts/required-consts/collect-in-called-fn.opt.stderr b/tests/ui/consts/required-consts/collect-in-called-fn.opt.stderr
index 6812b3734ef..3d908b54287 100644
--- a/tests/ui/consts/required-consts/collect-in-called-fn.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-called-fn.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-called-fn.rs:10:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-called-fn.rs:19:17
diff --git a/tests/ui/consts/required-consts/collect-in-called-fn.rs b/tests/ui/consts/required-consts/collect-in-called-fn.rs
index 93947950af2..2045b8266c7 100644
--- a/tests/ui/consts/required-consts/collect-in-called-fn.rs
+++ b/tests/ui/consts/required-consts/collect-in-called-fn.rs
@@ -7,7 +7,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 #[inline(never)]
diff --git a/tests/ui/consts/required-consts/collect-in-dead-closure.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-closure.noopt.stderr
index 661aea71604..f0670f7a746 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-closure.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-closure.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-closure.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-closure.rs:17:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-closure.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-closure.opt.stderr
index 661aea71604..f0670f7a746 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-closure.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-closure.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-closure.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-closure.rs:17:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-closure.rs b/tests/ui/consts/required-consts/collect-in-dead-closure.rs
index a00214c62db..5f8b6bbb174 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-closure.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-closure.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 // This function is not actually called, but it is mentioned in a closure that is coerced to a
diff --git a/tests/ui/consts/required-consts/collect-in-dead-drop.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-drop.noopt.stderr
index 31e6b2f487f..dbf330ada04 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-drop.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-drop.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-drop.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-drop.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-drop.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-drop.opt.stderr
index 31e6b2f487f..dbf330ada04 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-drop.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-drop.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-drop.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-drop.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-drop.rs b/tests/ui/consts/required-consts/collect-in-dead-drop.rs
index 389fcf5dfc9..f7293d162df 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-drop.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-drop.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 // This function is not actually called, but is mentioned implicitly as destructor in dead code in a
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.noopt.stderr
index 32dc1cb304b..178ffa20612 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-assoc-type.rs:10:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-assoc-type.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.opt.stderr
index 32dc1cb304b..178ffa20612 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-assoc-type.rs:10:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-assoc-type.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.rs b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.rs
index 9c36af50bb7..e6be9f56cb7 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-assoc-type.rs
@@ -7,7 +7,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 #[inline(never)]
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.noopt.stderr
index d22cf579448..78336273a73 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-generic.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-generic.rs:15:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.opt.stderr
index d22cf579448..78336273a73 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-generic.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-generic.rs:15:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.rs b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.rs
index 5829d914ee1..a86902af526 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-generic.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 #[inline(never)]
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.noopt.stderr
index 91daa2f9bc3..825f646630a 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `m::Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-opaque-type.rs:11:23
    |
 LL |         const C: () = panic!();
-   |                       ^^^^^^^^ evaluation panicked: explicit panic
+   |                       ^^^^^^^^ evaluation of `m::Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-opaque-type.rs:19:21
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.opt.stderr
index 91daa2f9bc3..825f646630a 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `m::Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn-behind-opaque-type.rs:11:23
    |
 LL |         const C: () = panic!();
-   |                       ^^^^^^^^ evaluation panicked: explicit panic
+   |                       ^^^^^^^^ evaluation of `m::Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn-behind-opaque-type.rs:19:21
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.rs b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.rs
index f333f3462c7..4cdb2741354 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn-behind-opaque-type.rs
@@ -8,7 +8,7 @@
 mod m {
     struct Fail<T>(T);
     impl<T> Fail<T> {
-        const C: () = panic!(); //~ERROR evaluation of `m::Fail::<i32>::C` failed
+        const C: () = panic!(); //~ERROR: evaluation panicked: explicit panic
     }
 
     pub type NotCalledFn = impl Fn();
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn.noopt.stderr
index d254fc60c0c..f2a0bd91e78 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn.rs:19:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fn.opt.stderr
index d254fc60c0c..f2a0bd91e78 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fn.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fn.rs:19:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fn.rs b/tests/ui/consts/required-consts/collect-in-dead-fn.rs
index 1c95e0c303f..0c479580106 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fn.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fn.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 // This function is not actually called, but it is mentioned in dead code in a function that is
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.noopt.stderr
index c14837ce442..7235cfe0d7c 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Late::<i32>::FAIL` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fnptr-in-const.rs:9:22
    |
 LL |     const FAIL: () = panic!();
-   |                      ^^^^^^^^ evaluation panicked: explicit panic
+   |                      ^^^^^^^^ evaluation of `Late::<i32>::FAIL` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fnptr-in-const.rs:10:28
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.opt.stderr
index c14837ce442..7235cfe0d7c 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Late::<i32>::FAIL` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fnptr-in-const.rs:9:22
    |
 LL |     const FAIL: () = panic!();
-   |                      ^^^^^^^^ evaluation panicked: explicit panic
+   |                      ^^^^^^^^ evaluation of `Late::<i32>::FAIL` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fnptr-in-const.rs:10:28
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.rs b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.rs
index 8b6344c93f3..04544cb4139 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr-in-const.rs
@@ -6,7 +6,7 @@
 
 struct Late<T>(T);
 impl<T> Late<T> {
-    const FAIL: () = panic!(); //~ERROR evaluation of `Late::<i32>::FAIL` failed
+    const FAIL: () = panic!(); //~ERROR evaluation panicked: explicit panic
     const FNPTR: fn() = || Self::FAIL;
 }
 
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fnptr.noopt.stderr
index 284e1a70a20..50dc52625c1 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fnptr.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fnptr.rs:18:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-fnptr.opt.stderr
index 284e1a70a20..50dc52625c1 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-fnptr.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-fnptr.rs:18:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-fnptr.rs b/tests/ui/consts/required-consts/collect-in-dead-fnptr.rs
index acbe34829e8..4cdb50f4385 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-fnptr.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-fnptr.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 // This function is not actually called, but it is mentioned in dead code in a function that is
diff --git a/tests/ui/consts/required-consts/collect-in-dead-move.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-move.noopt.stderr
index 8b43c67c085..96fa3b7f4ce 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-move.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-move.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-move.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-move.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-move.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-move.opt.stderr
index 8b43c67c085..96fa3b7f4ce 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-move.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-move.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-move.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-move.rs:16:17
diff --git a/tests/ui/consts/required-consts/collect-in-dead-move.rs b/tests/ui/consts/required-consts/collect-in-dead-move.rs
index 6a224a375cf..4e2d959db32 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-move.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-move.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 // This function is not actually called, but is mentioned implicitly as destructor in dead code in a
diff --git a/tests/ui/consts/required-consts/collect-in-dead-vtable.noopt.stderr b/tests/ui/consts/required-consts/collect-in-dead-vtable.noopt.stderr
index 4056f28541d..a036b7bdd5f 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-vtable.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-vtable.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-vtable.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-vtable.rs:22:21
diff --git a/tests/ui/consts/required-consts/collect-in-dead-vtable.opt.stderr b/tests/ui/consts/required-consts/collect-in-dead-vtable.opt.stderr
index 4056f28541d..a036b7bdd5f 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-vtable.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-dead-vtable.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-dead-vtable.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-dead-vtable.rs:22:21
diff --git a/tests/ui/consts/required-consts/collect-in-dead-vtable.rs b/tests/ui/consts/required-consts/collect-in-dead-vtable.rs
index f63207eafec..d4ad7308377 100644
--- a/tests/ui/consts/required-consts/collect-in-dead-vtable.rs
+++ b/tests/ui/consts/required-consts/collect-in-dead-vtable.rs
@@ -6,7 +6,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
 }
 
 trait MyTrait {
diff --git a/tests/ui/consts/required-consts/collect-in-promoted-const.noopt.stderr b/tests/ui/consts/required-consts/collect-in-promoted-const.noopt.stderr
index c5f3b0009f5..9e9d4b34124 100644
--- a/tests/ui/consts/required-consts/collect-in-promoted-const.noopt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-promoted-const.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-promoted-const.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-promoted-const.rs:20:21
diff --git a/tests/ui/consts/required-consts/collect-in-promoted-const.opt.stderr b/tests/ui/consts/required-consts/collect-in-promoted-const.opt.stderr
index 6f36aaf314d..d97604f29e6 100644
--- a/tests/ui/consts/required-consts/collect-in-promoted-const.opt.stderr
+++ b/tests/ui/consts/required-consts/collect-in-promoted-const.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<T>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-promoted-const.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<T>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-promoted-const.rs:20:21
@@ -10,11 +10,11 @@ note: erroneous constant encountered
 LL |         let _val = &Fail::<T>::C;
    |                     ^^^^^^^^^^^^
 
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/collect-in-promoted-const.rs:9:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/collect-in-promoted-const.rs:20:21
diff --git a/tests/ui/consts/required-consts/collect-in-promoted-const.rs b/tests/ui/consts/required-consts/collect-in-promoted-const.rs
index 4a3ce92e8f9..25c8cb7e804 100644
--- a/tests/ui/consts/required-consts/collect-in-promoted-const.rs
+++ b/tests/ui/consts/required-consts/collect-in-promoted-const.rs
@@ -6,8 +6,8 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
-    //[opt]~^ ERROR evaluation of `Fail::<T>::C` failed
+    const C: () = panic!(); //~ERROR evaluation panicked: explicit panic
+    //[opt]~^ ERROR evaluation panicked: explicit panic
     // (Not sure why optimizations lead to this being emitted twice, but as long as compilation
     // fails either way it's fine.)
 }
diff --git a/tests/ui/consts/required-consts/interpret-in-const-called-fn.noopt.stderr b/tests/ui/consts/required-consts/interpret-in-const-called-fn.noopt.stderr
index f98e2c17202..6b864e7e51f 100644
--- a/tests/ui/consts/required-consts/interpret-in-const-called-fn.noopt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-const-called-fn.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/interpret-in-const-called-fn.rs:8:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/interpret-in-const-called-fn.rs:18:9
diff --git a/tests/ui/consts/required-consts/interpret-in-const-called-fn.opt.stderr b/tests/ui/consts/required-consts/interpret-in-const-called-fn.opt.stderr
index f98e2c17202..6b864e7e51f 100644
--- a/tests/ui/consts/required-consts/interpret-in-const-called-fn.opt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-const-called-fn.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/interpret-in-const-called-fn.rs:8:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/interpret-in-const-called-fn.rs:18:9
diff --git a/tests/ui/consts/required-consts/interpret-in-const-called-fn.rs b/tests/ui/consts/required-consts/interpret-in-const-called-fn.rs
index 1ed6853f0a4..9309457e22a 100644
--- a/tests/ui/consts/required-consts/interpret-in-const-called-fn.rs
+++ b/tests/ui/consts/required-consts/interpret-in-const-called-fn.rs
@@ -5,7 +5,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR explicit panic
                             //~| NOTE in this expansion of panic!
 }
 
diff --git a/tests/ui/consts/required-consts/interpret-in-promoted.noopt.stderr b/tests/ui/consts/required-consts/interpret-in-promoted.noopt.stderr
index 1375ac751f2..569e1970ad1 100644
--- a/tests/ui/consts/required-consts/interpret-in-promoted.noopt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-promoted.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: entering unreachable code
   --> $DIR/interpret-in-promoted.rs:15:28
    |
 LL |     let _x: &'static () = &ub();
-   |                            ^^^^ entering unreachable code
+   |                            ^^^^ evaluation of constant value failed
    |
 note: inside `ub`
   --> $DIR/interpret-in-promoted.rs:9:5
diff --git a/tests/ui/consts/required-consts/interpret-in-promoted.opt.stderr b/tests/ui/consts/required-consts/interpret-in-promoted.opt.stderr
index 1375ac751f2..569e1970ad1 100644
--- a/tests/ui/consts/required-consts/interpret-in-promoted.opt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-promoted.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: entering unreachable code
   --> $DIR/interpret-in-promoted.rs:15:28
    |
 LL |     let _x: &'static () = &ub();
-   |                            ^^^^ entering unreachable code
+   |                            ^^^^ evaluation of constant value failed
    |
 note: inside `ub`
   --> $DIR/interpret-in-promoted.rs:9:5
diff --git a/tests/ui/consts/required-consts/interpret-in-promoted.rs b/tests/ui/consts/required-consts/interpret-in-promoted.rs
index 85d2ea3418c..b223e6d16aa 100644
--- a/tests/ui/consts/required-consts/interpret-in-promoted.rs
+++ b/tests/ui/consts/required-consts/interpret-in-promoted.rs
@@ -12,7 +12,7 @@ const unsafe fn ub() {
 pub const FOO: () = unsafe {
     // Make sure that this gets promoted and then fails to evaluate, and we deal with that
     // correctly.
-    let _x: &'static () = &ub(); //~ ERROR evaluation of constant value failed
+    let _x: &'static () = &ub(); //~ ERROR unreachable code
 };
 
 fn main() {}
diff --git a/tests/ui/consts/required-consts/interpret-in-static.noopt.stderr b/tests/ui/consts/required-consts/interpret-in-static.noopt.stderr
index 28daf265af4..e9294054be6 100644
--- a/tests/ui/consts/required-consts/interpret-in-static.noopt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-static.noopt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/interpret-in-static.rs:8:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/interpret-in-static.rs:17:9
diff --git a/tests/ui/consts/required-consts/interpret-in-static.opt.stderr b/tests/ui/consts/required-consts/interpret-in-static.opt.stderr
index 28daf265af4..e9294054be6 100644
--- a/tests/ui/consts/required-consts/interpret-in-static.opt.stderr
+++ b/tests/ui/consts/required-consts/interpret-in-static.opt.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Fail::<i32>::C` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/interpret-in-static.rs:8:19
    |
 LL |     const C: () = panic!();
-   |                   ^^^^^^^^ evaluation panicked: explicit panic
+   |                   ^^^^^^^^ evaluation of `Fail::<i32>::C` failed
 
 note: erroneous constant encountered
   --> $DIR/interpret-in-static.rs:17:9
diff --git a/tests/ui/consts/required-consts/interpret-in-static.rs b/tests/ui/consts/required-consts/interpret-in-static.rs
index 7ddf15f9121..19ad6be1c9f 100644
--- a/tests/ui/consts/required-consts/interpret-in-static.rs
+++ b/tests/ui/consts/required-consts/interpret-in-static.rs
@@ -5,7 +5,7 @@
 
 struct Fail<T>(T);
 impl<T> Fail<T> {
-    const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
+    const C: () = panic!(); //~ERROR explicit panic
                             //~| NOTE in this expansion of panic!
 }
 
diff --git a/tests/ui/consts/slice-index-overflow-issue-130284.rs b/tests/ui/consts/slice-index-overflow-issue-130284.rs
index 6877ebe1476..f5235b0e1f1 100644
--- a/tests/ui/consts/slice-index-overflow-issue-130284.rs
+++ b/tests/ui/consts/slice-index-overflow-issue-130284.rs
@@ -5,8 +5,7 @@ const C: () = {
     unsafe {
         // This used to ICE, but it should just report UB.
         let _ice = (*fat)[usize::MAX - 1];
-        //~^ERROR: constant value failed
-        //~| NOTE overflow
+        //~^ERROR: overflow
     }
 };
 
diff --git a/tests/ui/consts/slice-index-overflow-issue-130284.stderr b/tests/ui/consts/slice-index-overflow-issue-130284.stderr
index e3e676c8949..50d325bf4d2 100644
--- a/tests/ui/consts/slice-index-overflow-issue-130284.stderr
+++ b/tests/ui/consts/slice-index-overflow-issue-130284.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
   --> $DIR/slice-index-overflow-issue-130284.rs:7:20
    |
 LL |         let _ice = (*fat)[usize::MAX - 1];
-   |                    ^^^^^^^^^^^^^^^^^^^^^^ overflowing pointer arithmetic: the total offset in bytes does not fit in an `isize`
+   |                    ^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/static_mut_containing_mut_ref2.rs b/tests/ui/consts/static_mut_containing_mut_ref2.rs
index 2b1fe55df78..e9910816fc1 100644
--- a/tests/ui/consts/static_mut_containing_mut_ref2.rs
+++ b/tests/ui/consts/static_mut_containing_mut_ref2.rs
@@ -4,7 +4,7 @@ static mut STDERR_BUFFER_SPACE: u8 = 0;
 
 pub static mut STDERR_BUFFER: () = unsafe {
     *(&mut STDERR_BUFFER_SPACE) = 42;
-    //~^ ERROR could not evaluate static initializer
+    //~^ ERROR modifying a static's initial value
 };
 
 fn main() {}
diff --git a/tests/ui/consts/static_mut_containing_mut_ref2.stderr b/tests/ui/consts/static_mut_containing_mut_ref2.stderr
index 37cd2b51ad1..ecdf9ce3890 100644
--- a/tests/ui/consts/static_mut_containing_mut_ref2.stderr
+++ b/tests/ui/consts/static_mut_containing_mut_ref2.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/static_mut_containing_mut_ref2.rs:6:5
    |
 LL |     *(&mut STDERR_BUFFER_SPACE) = 42;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ modifying a static's initial value from another static's initializer
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/static_mut_containing_mut_ref3.rs b/tests/ui/consts/static_mut_containing_mut_ref3.rs
index c24c7e27920..42a4d04cde6 100644
--- a/tests/ui/consts/static_mut_containing_mut_ref3.rs
+++ b/tests/ui/consts/static_mut_containing_mut_ref3.rs
@@ -1,6 +1,6 @@
 static mut FOO: (u8, u8) = (42, 43);
 
 static mut BAR: () = unsafe { FOO.0 = 99; };
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR modifying a static's initial value
 
 fn main() {}
diff --git a/tests/ui/consts/static_mut_containing_mut_ref3.stderr b/tests/ui/consts/static_mut_containing_mut_ref3.stderr
index be84608acf7..7ad56e27805 100644
--- a/tests/ui/consts/static_mut_containing_mut_ref3.stderr
+++ b/tests/ui/consts/static_mut_containing_mut_ref3.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/static_mut_containing_mut_ref3.rs:3:31
    |
 LL | static mut BAR: () = unsafe { FOO.0 = 99; };
-   |                               ^^^^^^^^^^ modifying a static's initial value from another static's initializer
+   |                               ^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/consts/uninhabited-const-issue-61744.rs b/tests/ui/consts/uninhabited-const-issue-61744.rs
index 802d422888b..d33f9c268a5 100644
--- a/tests/ui/consts/uninhabited-const-issue-61744.rs
+++ b/tests/ui/consts/uninhabited-const-issue-61744.rs
@@ -10,7 +10,7 @@ pub const unsafe fn hint_unreachable() -> ! {
 }
 
 trait Const {
-    const CONSTANT: i32 = unsafe { fake_type() }; //~ ERROR evaluation of `fake_type::<!>` failed
+    const CONSTANT: i32 = unsafe { fake_type() }; //~ ERROR reached the configured maximum number of stack frames
 }
 
 impl<T> Const for T {}
diff --git a/tests/ui/consts/uninhabited-const-issue-61744.stderr b/tests/ui/consts/uninhabited-const-issue-61744.stderr
index d0e90f9a423..95d8ceebcd7 100644
--- a/tests/ui/consts/uninhabited-const-issue-61744.stderr
+++ b/tests/ui/consts/uninhabited-const-issue-61744.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `fake_type::<!>` failed
+error[E0080]: reached the configured maximum number of stack frames
   --> $DIR/uninhabited-const-issue-61744.rs:13:36
    |
 LL |     const CONSTANT: i32 = unsafe { fake_type() };
-   |                                    ^^^^^^^^^^^ reached the configured maximum number of stack frames
+   |                                    ^^^^^^^^^^^ evaluation of `fake_type::<!>` failed
    |
 note: inside `fake_type::<i32>`
   --> $DIR/uninhabited-const-issue-61744.rs:5:5
diff --git a/tests/ui/consts/validate_never_arrays.rs b/tests/ui/consts/validate_never_arrays.rs
index 055bb1c69c8..b0ea064188b 100644
--- a/tests/ui/consts/validate_never_arrays.rs
+++ b/tests/ui/consts/validate_never_arrays.rs
@@ -3,10 +3,10 @@
 //@ normalize-stderr: "([0-9a-f][0-9a-f] |╾─*ALLOC[0-9]+(\+[a-z0-9]+)?(<imm>)?─*╼ )+ *│.*" -> "HEX_DUMP"
 #![feature(never_type)]
 
-const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR undefined behavior
+const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR invalid value
 const _: &[!; 0] = unsafe { &*(1_usize as *const [!; 0]) }; // ok
 const _: &[!] = unsafe { &*(1_usize as *const [!; 0]) }; // ok
-const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR undefined behavior
-const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) }; //~ ERROR undefined behavior
+const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) }; //~ ERROR invalid value
+const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) }; //~ ERROR invalid value
 
 fn main() {}
diff --git a/tests/ui/consts/validate_never_arrays.stderr b/tests/ui/consts/validate_never_arrays.stderr
index 12090e483a4..0f503df4060 100644
--- a/tests/ui/consts/validate_never_arrays.stderr
+++ b/tests/ui/consts/validate_never_arrays.stderr
@@ -1,30 +1,30 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
   --> $DIR/validate_never_arrays.rs:6:1
    |
 LL | const _: &[!; 1] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^^^^ constructing invalid value: encountered a reference pointing to uninhabited type [!; 1]
+   | ^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
   --> $DIR/validate_never_arrays.rs:9:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 1]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
   --> $DIR/validate_never_arrays.rs:10:1
    |
 LL | const _: &[!] = unsafe { &*(1_usize as *const [!; 42]) };
-   | ^^^^^^^^^^^^^ constructing invalid value at .<deref>[0]: encountered a value of the never type `!`
+   | ^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/consts/write-to-static-mut-in-static.rs b/tests/ui/consts/write-to-static-mut-in-static.rs
index a2985d05a79..ce15d9e912b 100644
--- a/tests/ui/consts/write-to-static-mut-in-static.rs
+++ b/tests/ui/consts/write-to-static-mut-in-static.rs
@@ -1,10 +1,10 @@
 pub static mut A: u32 = 0;
 pub static mut B: () = unsafe { A = 1; };
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR modifying a static's initial value
 
 pub static mut C: u32 = unsafe { C = 1; 0 };
 
 pub static D: u32 = D;
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR static that tried to initialize itself with itself
 
 fn main() {}
diff --git a/tests/ui/consts/write-to-static-mut-in-static.stderr b/tests/ui/consts/write-to-static-mut-in-static.stderr
index 9616f8eeeb7..7d2aa0e3422 100644
--- a/tests/ui/consts/write-to-static-mut-in-static.stderr
+++ b/tests/ui/consts/write-to-static-mut-in-static.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: modifying a static's initial value from another static's initializer
   --> $DIR/write-to-static-mut-in-static.rs:2:33
    |
 LL | pub static mut B: () = unsafe { A = 1; };
-   |                                 ^^^^^ modifying a static's initial value from another static's initializer
+   |                                 ^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: encountered static that tried to initialize itself with itself
   --> $DIR/write-to-static-mut-in-static.rs:7:21
    |
 LL | pub static D: u32 = D;
-   |                     ^ encountered static that tried to initialize itself with itself
+   |                     ^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/enum-discriminant/eval-error.rs b/tests/ui/enum-discriminant/eval-error.rs
index 08b71d52a8b..45ac9472a4b 100644
--- a/tests/ui/enum-discriminant/eval-error.rs
+++ b/tests/ui/enum-discriminant/eval-error.rs
@@ -6,7 +6,7 @@ union Foo {
 
 enum Bar {
     Boo = {
-        let _: Option<Foo> = None; //~ ERROR evaluation of constant value failed
+        let _: Option<Foo> = None; //~ ERROR `Foo` has an unknown layout
         0
     },
 }
diff --git a/tests/ui/enum-discriminant/eval-error.stderr b/tests/ui/enum-discriminant/eval-error.stderr
index 6bec2c8b420..7e15a5e0c76 100644
--- a/tests/ui/enum-discriminant/eval-error.stderr
+++ b/tests/ui/enum-discriminant/eval-error.stderr
@@ -45,11 +45,11 @@ help: wrap the field type in `ManuallyDrop<...>`
 LL |     a: std::mem::ManuallyDrop<str>,
    |        +++++++++++++++++++++++   +
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: the type `Foo` has an unknown layout
   --> $DIR/eval-error.rs:9:30
    |
 LL |         let _: Option<Foo> = None;
-   |                              ^^^^ the type `Foo` has an unknown layout
+   |                              ^^^^ evaluation of constant value failed
 
 error: aborting due to 5 previous errors
 
diff --git a/tests/ui/error-codes/E0080.rs b/tests/ui/error-codes/E0080.rs
index 55f45055f01..0d19f02a9f1 100644
--- a/tests/ui/error-codes/E0080.rs
+++ b/tests/ui/error-codes/E0080.rs
@@ -1,9 +1,6 @@
 enum Enum {
-    X = (1 << 500), //~ ERROR E0080
-    //~| NOTE attempt to shift left by `500_i32`, which would overflow
-    Y = (1 / 0) //~ ERROR E0080
-                //~| NOTE attempt to divide `1_isize` by zero
+    X = (1 << 500), //~ ERROR attempt to shift left by `500_i32`, which would overflow
+    Y = (1 / 0),    //~ ERROR attempt to divide `1_isize` by zero
 }
 
-fn main() {
-}
+fn main() {}
diff --git a/tests/ui/error-codes/E0080.stderr b/tests/ui/error-codes/E0080.stderr
index 60ed9a4358f..da364332a70 100644
--- a/tests/ui/error-codes/E0080.stderr
+++ b/tests/ui/error-codes/E0080.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: attempt to shift left by `500_i32`, which would overflow
   --> $DIR/E0080.rs:2:9
    |
 LL |     X = (1 << 500),
-   |         ^^^^^^^^^^ attempt to shift left by `500_i32`, which would overflow
+   |         ^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/E0080.rs:4:9
+error[E0080]: attempt to divide `1_isize` by zero
+  --> $DIR/E0080.rs:3:9
    |
-LL |     Y = (1 / 0)
-   |         ^^^^^^^ attempt to divide `1_isize` by zero
+LL |     Y = (1 / 0),
+   |         ^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/explicit-tail-calls/ctfe-id-unlimited.return.stderr b/tests/ui/explicit-tail-calls/ctfe-id-unlimited.return.stderr
index 8fb51f5b637..ab6af9349dc 100644
--- a/tests/ui/explicit-tail-calls/ctfe-id-unlimited.return.stderr
+++ b/tests/ui/explicit-tail-calls/ctfe-id-unlimited.return.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: reached the configured maximum number of stack frames
   --> $DIR/ctfe-id-unlimited.rs:28:20
    |
 LL | const ID_ED: u32 = rec_id(ORIGINAL);
-   |                    ^^^^^^^^^^^^^^^^ reached the configured maximum number of stack frames
+   |                    ^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `rec_id`
   --> $DIR/ctfe-id-unlimited.rs:21:5
diff --git a/tests/ui/explicit-tail-calls/ctfe-id-unlimited.rs b/tests/ui/explicit-tail-calls/ctfe-id-unlimited.rs
index 9e89f4066bb..53cccb38e2b 100644
--- a/tests/ui/explicit-tail-calls/ctfe-id-unlimited.rs
+++ b/tests/ui/explicit-tail-calls/ctfe-id-unlimited.rs
@@ -25,7 +25,7 @@ const fn rec_id(n: u32) -> u32 {
 const ORIGINAL: u32 = 12345;
 // Original number, but with identity function applied
 // (this is the same, but requires execution of the recursion)
-const ID_ED: u32 = rec_id(ORIGINAL); //[return]~ error: evaluation of constant value failed
+const ID_ED: u32 = rec_id(ORIGINAL); //[return]~ ERROR: reached the configured maximum number of stack frames
 // Assert to make absolutely sure the computation actually happens
 const ASSERT: () = assert!(ORIGINAL == ID_ED);
 
diff --git a/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.rs b/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.rs
index e7038a01d2d..bf32232cee3 100644
--- a/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.rs
+++ b/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.rs
@@ -10,7 +10,7 @@ const fn g() {
     //~^ NOTE in this expansion of panic!
 }
 
-const _: () = f(); //~ ERROR evaluation of constant value failed
-//~^ NOTE explicit panic
+const _: () = f(); //~ NOTE evaluation of constant value failed
+//~^ ERROR explicit panic
 
 fn main() {}
diff --git a/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.stderr b/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.stderr
index 3bdd09e9683..c30818c8340 100644
--- a/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.stderr
+++ b/tests/ui/explicit-tail-calls/ctfe-tail-call-panic.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/ctfe-tail-call-panic.rs:13:15
    |
 LL | const _: () = f();
-   |               ^^^ evaluation panicked: explicit panic
+   |               ^^^ evaluation of constant value failed
    |
 note: inside `g`
   --> $DIR/ctfe-tail-call-panic.rs:9:5
diff --git a/tests/ui/extern/issue-28324.rs b/tests/ui/extern/issue-28324.rs
index a5e240fa283..4af400d823b 100644
--- a/tests/ui/extern/issue-28324.rs
+++ b/tests/ui/extern/issue-28324.rs
@@ -4,6 +4,6 @@ extern "C" {
 
 pub static BAZ: u32 = *&error_message_count;
 //~^ ERROR use of extern static is unsafe and requires
-//~| ERROR could not evaluate static initializer
+//~| ERROR cannot access extern static
 
 fn main() {}
diff --git a/tests/ui/extern/issue-28324.stderr b/tests/ui/extern/issue-28324.stderr
index 93eb6ff8174..8ad3ac57152 100644
--- a/tests/ui/extern/issue-28324.stderr
+++ b/tests/ui/extern/issue-28324.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: cannot access extern static `error_message_count`
   --> $DIR/issue-28324.rs:5:23
    |
 LL | pub static BAZ: u32 = *&error_message_count;
-   |                       ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static `error_message_count`
+   |                       ^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error[E0133]: use of extern static is unsafe and requires unsafe function or block
   --> $DIR/issue-28324.rs:5:25
diff --git a/tests/ui/generic-const-items/def-site-eval.fail.stderr b/tests/ui/generic-const-items/def-site-eval.fail.stderr
index 4e7d9d8154a..d9cf2f15dd7 100644
--- a/tests/ui/generic-const-items/def-site-eval.fail.stderr
+++ b/tests/ui/generic-const-items/def-site-eval.fail.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/def-site-eval.rs:13:20
    |
 LL | const _<'_a>: () = panic!();
-   |                    ^^^^^^^^ evaluation panicked: explicit panic
+   |                    ^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generic-const-items/def-site-eval.rs b/tests/ui/generic-const-items/def-site-eval.rs
index b95e40c05d4..fa3ef5907b2 100644
--- a/tests/ui/generic-const-items/def-site-eval.rs
+++ b/tests/ui/generic-const-items/def-site-eval.rs
@@ -10,6 +10,6 @@ const _<_T>: () = panic!();
 const _<const _N: usize>: () = panic!();
 
 #[cfg(fail)]
-const _<'_a>: () = panic!(); //[fail]~ ERROR evaluation of constant value failed
+const _<'_a>: () = panic!(); //[fail]~ ERROR evaluation panicked: explicit panic
 
 fn main() {}
diff --git a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs
index 93f01c9577c..102c7b1e5f9 100644
--- a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs
+++ b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.rs
@@ -3,7 +3,7 @@
 
 // Ensure that we check if trivial bounds on const items hold or not.
 
-const UNUSABLE: () = () //~ ERROR evaluation of constant value failed
+const UNUSABLE: () = () //~ ERROR entering unreachable code
 where
     String: Copy;
 
diff --git a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.stderr b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.stderr
index 407682fee56..e2df1559d07 100644
--- a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.stderr
+++ b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-0.stderr
@@ -1,10 +1,10 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: entering unreachable code
   --> $DIR/trivially-unsatisfied-bounds-0.rs:6:1
    |
 LL | / const UNUSABLE: () = ()
 LL | | where
 LL | |     String: Copy;
-   | |_________________^ entering unreachable code
+   | |_________________^ evaluation of constant value failed
 
 error[E0277]: the trait bound `String: Copy` is not satisfied
   --> $DIR/trivially-unsatisfied-bounds-0.rs:11:13
diff --git a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs
index 9243deac870..ebe97a65bbf 100644
--- a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs
+++ b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.rs
@@ -7,6 +7,6 @@
 const UNUSED: () = ()
 where
     String: Copy;
-//~^^^ ERROR evaluation of constant value failed
+//~^^^ ERROR unreachable code
 
 fn main() {}
diff --git a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.stderr b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.stderr
index b8438a0589c..83254da8644 100644
--- a/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.stderr
+++ b/tests/ui/generic-const-items/trivially-unsatisfied-bounds-1.stderr
@@ -1,10 +1,10 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: entering unreachable code
   --> $DIR/trivially-unsatisfied-bounds-1.rs:7:1
    |
 LL | / const UNUSED: () = ()
 LL | | where
 LL | |     String: Copy;
-   | |_________________^ entering unreachable code
+   | |_________________^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.rs b/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.rs
index 961e5b4aeeb..13ce1f7de5b 100644
--- a/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.rs
+++ b/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.rs
@@ -5,7 +5,7 @@
 
 const POSITIVE<const N: usize>: usize = N
 where
-    [(); N - 1]:; //~ ERROR evaluation of `POSITIVE::<0>::{constant#0}` failed
+    [(); N - 1]:; //~ ERROR overflow
 
 fn main() {
     let _ = POSITIVE::<0>;
diff --git a/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.stderr b/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.stderr
index f522190e8aa..b6c80301944 100644
--- a/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.stderr
+++ b/tests/ui/generic-const-items/unsatisfied-evaluatable-bounds.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `POSITIVE::<0>::{constant#0}` failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/unsatisfied-evaluatable-bounds.rs:8:10
    |
 LL |     [(); N - 1]:;
-   |          ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |          ^^^^^ evaluation of `POSITIVE::<0>::{constant#0}` failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/generics/post_monomorphization_error_backtrace.rs b/tests/ui/generics/post_monomorphization_error_backtrace.rs
index f5f36ef03ae..9f53751584b 100644
--- a/tests/ui/generics/post_monomorphization_error_backtrace.rs
+++ b/tests/ui/generics/post_monomorphization_error_backtrace.rs
@@ -4,12 +4,12 @@ fn assert_zst<T>() {
     struct F<T>(T);
     impl<T> F<T> {
         const V: () = assert!(std::mem::size_of::<T>() == 0);
-        //~^ ERROR: evaluation of `assert_zst::F::<u32>::V` failed [E0080]
+        //~^ NOTE: evaluation of `assert_zst::F::<u32>::V` failed
         //~| NOTE: in this expansion of assert!
-        //~| NOTE: assertion failed
-        //~| ERROR: evaluation of `assert_zst::F::<i32>::V` failed [E0080]
+        //~| ERROR: assertion failed
+        //~| NOTE: evaluation of `assert_zst::F::<i32>::V` failed
         //~| NOTE: in this expansion of assert!
-        //~| NOTE: assertion failed
+        //~| ERROR: assertion failed
     }
     F::<T>::V;
     //~^NOTE: erroneous constant
@@ -23,7 +23,6 @@ fn foo<U>() {
     //~| NOTE: the above error was encountered while instantiating `fn assert_zst::<i32>`
 }
 
-
 fn bar<V>() {
     foo::<V>()
 }
diff --git a/tests/ui/generics/post_monomorphization_error_backtrace.stderr b/tests/ui/generics/post_monomorphization_error_backtrace.stderr
index 96aa04ee359..f2146df1f8d 100644
--- a/tests/ui/generics/post_monomorphization_error_backtrace.stderr
+++ b/tests/ui/generics/post_monomorphization_error_backtrace.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `assert_zst::F::<u32>::V` failed
+error[E0080]: evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
   --> $DIR/post_monomorphization_error_backtrace.rs:6:23
    |
 LL |         const V: () = assert!(std::mem::size_of::<T>() == 0);
-   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
+   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `assert_zst::F::<u32>::V` failed
 
 note: erroneous constant encountered
   --> $DIR/post_monomorphization_error_backtrace.rs:14:5
@@ -16,11 +16,11 @@ note: the above error was encountered while instantiating `fn assert_zst::<u32>`
 LL |     assert_zst::<U>()
    |     ^^^^^^^^^^^^^^^^^
 
-error[E0080]: evaluation of `assert_zst::F::<i32>::V` failed
+error[E0080]: evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
   --> $DIR/post_monomorphization_error_backtrace.rs:6:23
    |
 LL |         const V: () = assert!(std::mem::size_of::<T>() == 0);
-   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
+   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `assert_zst::F::<i32>::V` failed
 
 note: erroneous constant encountered
   --> $DIR/post_monomorphization_error_backtrace.rs:14:5
diff --git a/tests/ui/infinite/infinite-recursion-const-fn.rs b/tests/ui/infinite/infinite-recursion-const-fn.rs
index 7b7f6fafab5..3c0b3b9741b 100644
--- a/tests/ui/infinite/infinite-recursion-const-fn.rs
+++ b/tests/ui/infinite/infinite-recursion-const-fn.rs
@@ -6,6 +6,6 @@ const fn a() -> usize {
 const fn b() -> usize {
     a()
 }
-const ARR: [i32; a()] = [5; 6]; //~ ERROR evaluation of constant value failed [E0080]
+const ARR: [i32; a()] = [5; 6]; //~ ERROR reached the configured maximum number of stack frames
 
 fn main() {}
diff --git a/tests/ui/infinite/infinite-recursion-const-fn.stderr b/tests/ui/infinite/infinite-recursion-const-fn.stderr
index 524abdf4d7a..c61dacee437 100644
--- a/tests/ui/infinite/infinite-recursion-const-fn.stderr
+++ b/tests/ui/infinite/infinite-recursion-const-fn.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: reached the configured maximum number of stack frames
   --> $DIR/infinite-recursion-const-fn.rs:9:18
    |
 LL | const ARR: [i32; a()] = [5; 6];
-   |                  ^^^ reached the configured maximum number of stack frames
+   |                  ^^^ evaluation of constant value failed
    |
 note: inside `a`
   --> $DIR/infinite-recursion-const-fn.rs:4:5
diff --git a/tests/ui/inline-const/const-expr-generic-err.stderr b/tests/ui/inline-const/const-expr-generic-err.stderr
index a40e8bceb36..d703e7e2c9d 100644
--- a/tests/ui/inline-const/const-expr-generic-err.stderr
+++ b/tests/ui/inline-const/const-expr-generic-err.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `foo::<i32>::{constant#0}` failed
+error[E0080]: evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
   --> $DIR/const-expr-generic-err.rs:4:13
    |
 LL |     const { assert!(std::mem::size_of::<T>() == 0); }
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: assertion failed: std::mem::size_of::<T>() == 0
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `foo::<i32>::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/const-expr-generic-err.rs:4:5
@@ -16,11 +16,11 @@ note: the above error was encountered while instantiating `fn foo::<i32>`
 LL |     foo::<i32>();
    |     ^^^^^^^^^^^^
 
-error[E0080]: evaluation of `bar::<0>::{constant#0}` failed
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
   --> $DIR/const-expr-generic-err.rs:8:13
    |
 LL |     const { N - 1 }
-   |             ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+   |             ^^^^^ evaluation of `bar::<0>::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/const-expr-generic-err.rs:8:5
diff --git a/tests/ui/inline-const/required-const.stderr b/tests/ui/inline-const/required-const.stderr
index 2f618e54ed3..06c7c370654 100644
--- a/tests/ui/inline-const/required-const.stderr
+++ b/tests/ui/inline-const/required-const.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `foo::<i32>::{constant#0}` failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/required-const.rs:6:17
    |
 LL |         const { panic!() }
-   |                 ^^^^^^^^ evaluation panicked: explicit panic
+   |                 ^^^^^^^^ evaluation of `foo::<i32>::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/required-const.rs:6:9
diff --git a/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.rs b/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.rs
index fdb25a3ae3f..15f4a9a778e 100644
--- a/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.rs
+++ b/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.rs
@@ -2,22 +2,19 @@
 
 const RAW_EQ_PADDING: bool = unsafe {
     std::intrinsics::raw_eq(&(1_u8, 2_u16), &(1_u8, 2_u16))
-//~^ ERROR evaluation of constant value failed
-//~| NOTE requires initialized memory
+//~^ ERROR requires initialized memory
 };
 
 const RAW_EQ_PTR: bool = unsafe {
     std::intrinsics::raw_eq(&(&0), &(&1))
-//~^ ERROR evaluation of constant value failed
-//~| NOTE unable to turn pointer into integer
+//~^ ERROR unable to turn pointer into integer
 };
 
 const RAW_EQ_NOT_ALIGNED: bool = unsafe {
     let arr = [0u8; 4];
     let aref = &*arr.as_ptr().cast::<i32>();
     std::intrinsics::raw_eq(aref, aref)
-//~^ ERROR evaluation of constant value failed
-//~| NOTE alignment
+//~^ ERROR alignment
 };
 
 pub fn main() {
diff --git a/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.stderr b/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.stderr
index b8fdfe7bef3..cf899b29eae 100644
--- a/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.stderr
+++ b/tests/ui/intrinsics/intrinsic-raw_eq-const-bad.stderr
@@ -1,23 +1,23 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: reading memory at ALLOC0[0x0..0x4], but memory is uninitialized at [0x1..0x2], and this operation requires initialized memory
   --> $DIR/intrinsic-raw_eq-const-bad.rs:4:5
    |
 LL |     std::intrinsics::raw_eq(&(1_u8, 2_u16), &(1_u8, 2_u16))
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reading memory at ALLOC0[0x0..0x4], but memory is uninitialized at [0x1..0x2], and this operation requires initialized memory
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/intrinsic-raw_eq-const-bad.rs:10:5
+error[E0080]: unable to turn pointer into integer
+  --> $DIR/intrinsic-raw_eq-const-bad.rs:9:5
    |
 LL |     std::intrinsics::raw_eq(&(&0), &(&1))
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: evaluation of constant value failed
-  --> $DIR/intrinsic-raw_eq-const-bad.rs:18:5
+error[E0080]: accessing memory with alignment 1, but alignment 4 is required
+  --> $DIR/intrinsic-raw_eq-const-bad.rs:16:5
    |
 LL |     std::intrinsics::raw_eq(aref, aref)
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ accessing memory with alignment 1, but alignment 4 is required
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/issues/issue-76191.rs b/tests/ui/issues/issue-76191.rs
index 277624c005a..d2de44380c3 100644
--- a/tests/ui/issues/issue-76191.rs
+++ b/tests/ui/issues/issue-76191.rs
@@ -6,7 +6,7 @@ use std::ops::RangeInclusive;
 const RANGE: RangeInclusive<i32> = 0..=255;
 
 const RANGE2: RangeInclusive<i32> = panic!();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR evaluation panicked: explicit panic
 
 fn main() {
     let n: i32 = 1;
diff --git a/tests/ui/issues/issue-76191.stderr b/tests/ui/issues/issue-76191.stderr
index ac1bdfaa847..24513901401 100644
--- a/tests/ui/issues/issue-76191.stderr
+++ b/tests/ui/issues/issue-76191.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: explicit panic
   --> $DIR/issue-76191.rs:8:37
    |
 LL | const RANGE2: RangeInclusive<i32> = panic!();
-   |                                     ^^^^^^^^ evaluation panicked: explicit panic
+   |                                     ^^^^^^^^ evaluation of constant value failed
 
 error[E0308]: mismatched types
   --> $DIR/issue-76191.rs:14:9
diff --git a/tests/ui/layout/invalid-unsized-const-eval.rs b/tests/ui/layout/invalid-unsized-const-eval.rs
index 1f664d30055..94fa6449e67 100644
--- a/tests/ui/layout/invalid-unsized-const-eval.rs
+++ b/tests/ui/layout/invalid-unsized-const-eval.rs
@@ -10,6 +10,6 @@ struct LazyLock {
 }
 
 static EMPTY_SET: LazyLock = todo!();
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR the type `(dyn Sync, ())` has an unknown layout
 
 fn main() {}
diff --git a/tests/ui/layout/invalid-unsized-const-eval.stderr b/tests/ui/layout/invalid-unsized-const-eval.stderr
index a434ca9b2c7..c430a69766a 100644
--- a/tests/ui/layout/invalid-unsized-const-eval.stderr
+++ b/tests/ui/layout/invalid-unsized-const-eval.stderr
@@ -7,11 +7,11 @@ LL |     data: (dyn Sync, ()),
    = help: the trait `Sized` is not implemented for `(dyn Sync + 'static)`
    = note: only the last element of a tuple may have a dynamically sized type
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: the type `(dyn Sync, ())` has an unknown layout
   --> $DIR/invalid-unsized-const-eval.rs:12:1
    |
 LL | static EMPTY_SET: LazyLock = todo!();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the type `(dyn Sync, ())` has an unknown layout
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/layout/invalid-unsized-in-always-sized-tail.rs b/tests/ui/layout/invalid-unsized-in-always-sized-tail.rs
index c6d5f2bfa0e..8da2bb385ef 100644
--- a/tests/ui/layout/invalid-unsized-in-always-sized-tail.rs
+++ b/tests/ui/layout/invalid-unsized-in-always-sized-tail.rs
@@ -12,6 +12,7 @@ struct P2 {
     //~^ ERROR: the size for values of type `[bool]` cannot be known at compilation time
 }
 
-static CHECK: () = assert!(align_of::<P2>() == 1); //~ ERROR could not evaluate static initializer
+static CHECK: () = assert!(align_of::<P2>() == 1);
+//~^ ERROR the type `MySlice<[bool]>` has an unknown layout
 
 fn main() {}
diff --git a/tests/ui/layout/invalid-unsized-in-always-sized-tail.stderr b/tests/ui/layout/invalid-unsized-in-always-sized-tail.stderr
index 3a4735e4832..2cdd79c488e 100644
--- a/tests/ui/layout/invalid-unsized-in-always-sized-tail.stderr
+++ b/tests/ui/layout/invalid-unsized-in-always-sized-tail.stderr
@@ -18,11 +18,11 @@ LL | struct MySlice<T>(T);
    |                |
    |                this could be changed to `T: ?Sized`...
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: the type `MySlice<[bool]>` has an unknown layout
   --> $DIR/invalid-unsized-in-always-sized-tail.rs:15:28
    |
 LL | static CHECK: () = assert!(align_of::<P2>() == 1);
-   |                            ^^^^^^^^^^^^^^^^ the type `MySlice<[bool]>` has an unknown layout
+   |                            ^^^^^^^^^^^^^^^^ could not evaluate static initializer
    |
 note: inside `align_of::<P2>`
   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
diff --git a/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.rs b/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.rs
index f84c10d8e5c..92295704615 100644
--- a/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.rs
+++ b/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.rs
@@ -6,6 +6,6 @@ struct ArenaSet<U: Deref, V: ?Sized = <U as Deref>::Target>(V, U);
 //~^ ERROR the size for values of type `V` cannot be known at compilation time
 
 const DATA: *const ArenaSet<Vec<u8>> = std::ptr::null_mut();
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR the type `ArenaSet<Vec<u8>, [u8]>` has an unknown layout
 
 pub fn main() {}
diff --git a/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.stderr b/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.stderr
index 220951fab86..32dd2310a7e 100644
--- a/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.stderr
+++ b/tests/ui/layout/issue-unsized-tail-restatic-ice-122488.stderr
@@ -22,11 +22,11 @@ help: the `Box` type always has a statically known size and allocates its conten
 LL | struct ArenaSet<U: Deref, V: ?Sized = <U as Deref>::Target>(Box<V>, U);
    |                                                             ++++ +
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: the type `ArenaSet<Vec<u8>, [u8]>` has an unknown layout
   --> $DIR/issue-unsized-tail-restatic-ice-122488.rs:8:1
    |
 LL | const DATA: *const ArenaSet<Vec<u8>> = std::ptr::null_mut();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the type `ArenaSet<Vec<u8>, [u8]>` has an unknown layout
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
index 91280e49dcd..4423b83e24d 100644
--- a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
+++ b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
@@ -5,7 +5,7 @@ where
     str: Sized,
 {
     [(); { let _a: Option<str> = None; 0 }];
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR the type `Option<str>` has an unknown layout
 }
 
 fn main() {}
diff --git a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
index 6c7c51db8df..b12f1a18245 100644
--- a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
+++ b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: the type `Option<str>` has an unknown layout
   --> $DIR/uncomputable-due-to-trivial-bounds-ice-135138.rs:7:16
    |
 LL |     [(); { let _a: Option<str> = None; 0 }];
-   |                ^^ the type `Option<str>` has an unknown layout
+   |                ^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/layout/unknown-when-no-type-parameter.rs b/tests/ui/layout/unknown-when-no-type-parameter.rs
index 87f90aa438a..81386feaacf 100644
--- a/tests/ui/layout/unknown-when-no-type-parameter.rs
+++ b/tests/ui/layout/unknown-when-no-type-parameter.rs
@@ -4,10 +4,14 @@ trait Project {
     type Assoc;
 }
 
-fn foo() where (): Project {
-    [(); size_of::<<() as Project>::Assoc>()]; //~ ERROR evaluation of constant value failed
-    //~| NOTE the type `<() as Project>::Assoc` has an unknown layout
+fn foo()
+where
+    (): Project,
+{
+    [(); size_of::<<() as Project>::Assoc>()];
+    //~^ ERROR the type `<() as Project>::Assoc` has an unknown layout
     //~| NOTE inside `std::mem::size_of::<<() as Project>::Assoc>`
+    //~| NOTE evaluation of constant value failed
 }
 
 fn main() {}
diff --git a/tests/ui/layout/unknown-when-no-type-parameter.stderr b/tests/ui/layout/unknown-when-no-type-parameter.stderr
index 35fbb11f156..7b4d6d1ac0e 100644
--- a/tests/ui/layout/unknown-when-no-type-parameter.stderr
+++ b/tests/ui/layout/unknown-when-no-type-parameter.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/unknown-when-no-type-parameter.rs:8:10
+error[E0080]: the type `<() as Project>::Assoc` has an unknown layout
+  --> $DIR/unknown-when-no-type-parameter.rs:11:10
    |
 LL |     [(); size_of::<<() as Project>::Assoc>()];
-   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the type `<() as Project>::Assoc` has an unknown layout
+   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::mem::size_of::<<() as Project>::Assoc>`
   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
diff --git a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
index 973235fe65a..54f339711d5 100644
--- a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
+++ b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
@@ -6,7 +6,7 @@ where
     str: std::ptr::Pointee<Metadata = str>,
 {
     [(); { let _a: Option<&str> = None; 0 }];
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR the type `str` has an unknown layout
 }
 
 fn main() {}
diff --git a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
index 68bba2e9678..ef2a624fa87 100644
--- a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
+++ b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: the type `str` has an unknown layout
   --> $DIR/unknown-when-ptr-metadata-is-DST.rs:8:16
    |
 LL |     [(); { let _a: Option<&str> = None; 0 }];
-   |                ^^ the type `str` has an unknown layout
+   |                ^^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lazy-type-alias/def-site-param-defaults-wf.rs b/tests/ui/lazy-type-alias/def-site-param-defaults-wf.rs
index 90bb0a294f8..7f417de5fd3 100644
--- a/tests/ui/lazy-type-alias/def-site-param-defaults-wf.rs
+++ b/tests/ui/lazy-type-alias/def-site-param-defaults-wf.rs
@@ -2,8 +2,8 @@
 #![feature(lazy_type_alias)]
 #![allow(incomplete_features)]
 
-type Alias<T = Vec<str>, const N: usize = {0 - 1}> = T;
-//~^ ERROR evaluation of constant value failed
+type Alias<T = Vec<str>, const N: usize = { 0 - 1 }> = T;
+//~^ ERROR attempt to compute `0_usize - 1_usize`, which would overflow
 //~| ERROR the size for values of type `str` cannot be known at compilation time
 
 fn main() {}
diff --git a/tests/ui/lazy-type-alias/def-site-param-defaults-wf.stderr b/tests/ui/lazy-type-alias/def-site-param-defaults-wf.stderr
index da0021ccaf4..a91cb4f45cb 100644
--- a/tests/ui/lazy-type-alias/def-site-param-defaults-wf.stderr
+++ b/tests/ui/lazy-type-alias/def-site-param-defaults-wf.stderr
@@ -1,13 +1,13 @@
-error[E0080]: evaluation of constant value failed
-  --> $DIR/def-site-param-defaults-wf.rs:5:44
+error[E0080]: attempt to compute `0_usize - 1_usize`, which would overflow
+  --> $DIR/def-site-param-defaults-wf.rs:5:45
    |
-LL | type Alias<T = Vec<str>, const N: usize = {0 - 1}> = T;
-   |                                            ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
+LL | type Alias<T = Vec<str>, const N: usize = { 0 - 1 }> = T;
+   |                                             ^^^^^ evaluation of constant value failed
 
 error[E0277]: the size for values of type `str` cannot be known at compilation time
   --> $DIR/def-site-param-defaults-wf.rs:5:16
    |
-LL | type Alias<T = Vec<str>, const N: usize = {0 - 1}> = T;
+LL | type Alias<T = Vec<str>, const N: usize = { 0 - 1 }> = T;
    |                ^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `str`
diff --git a/tests/ui/limits/huge-static.rs b/tests/ui/limits/huge-static.rs
index 4c3641ac7d4..1473fd6054e 100644
--- a/tests/ui/limits/huge-static.rs
+++ b/tests/ui/limits/huge-static.rs
@@ -5,22 +5,19 @@
 
 const HUGE_SIZE: usize = 1 << 61;
 
-
 pub struct TooBigArray {
     arr: [u8; HUGE_SIZE],
 }
 
 impl TooBigArray {
     pub const fn new() -> Self {
-        TooBigArray { arr: [0x00; HUGE_SIZE], }
+        TooBigArray { arr: [0x00; HUGE_SIZE] }
     }
 }
 
 static MY_TOO_BIG_ARRAY_1: TooBigArray = TooBigArray::new();
-//~^ ERROR could not evaluate static initializer
-//~| NOTE too big
+//~^ ERROR too big
 static MY_TOO_BIG_ARRAY_2: [u8; HUGE_SIZE] = [0x00; HUGE_SIZE];
-//~^ ERROR could not evaluate static initializer
-//~| NOTE too big
+//~^ ERROR too big
 
-fn main() { }
+fn main() {}
diff --git a/tests/ui/limits/huge-static.stderr b/tests/ui/limits/huge-static.stderr
index 684efeeb4a3..b953866f0d3 100644
--- a/tests/ui/limits/huge-static.stderr
+++ b/tests/ui/limits/huge-static.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
-  --> $DIR/huge-static.rs:19:1
+error[E0080]: values of the type `[u8; 2305843009213693952]` are too big for the target architecture
+  --> $DIR/huge-static.rs:18:1
    |
 LL | static MY_TOO_BIG_ARRAY_1: TooBigArray = TooBigArray::new();
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ values of the type `[u8; 2305843009213693952]` are too big for the target architecture
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
-  --> $DIR/huge-static.rs:22:1
+error[E0080]: values of the type `[u8; 2305843009213693952]` are too big for the target architecture
+  --> $DIR/huge-static.rs:20:1
    |
 LL | static MY_TOO_BIG_ARRAY_2: [u8; HUGE_SIZE] = [0x00; HUGE_SIZE];
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ values of the type `[u8; 2305843009213693952]` are too big for the target architecture
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/limits/issue-55878.rs b/tests/ui/limits/issue-55878.rs
index 614ff328bf5..9e75f00a408 100644
--- a/tests/ui/limits/issue-55878.rs
+++ b/tests/ui/limits/issue-55878.rs
@@ -2,5 +2,5 @@
 
 fn main() {
     println!("Size: {}", std::mem::size_of::<[u8; u64::MAX as usize]>());
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR too big for the target architecture
 }
diff --git a/tests/ui/limits/issue-55878.stderr b/tests/ui/limits/issue-55878.stderr
index 9b3922d7933..e39dd42e2ff 100644
--- a/tests/ui/limits/issue-55878.stderr
+++ b/tests/ui/limits/issue-55878.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: values of the type `[u8; usize::MAX]` are too big for the target architecture
   --> $DIR/issue-55878.rs:4:26
    |
 LL |     println!("Size: {}", std::mem::size_of::<[u8; u64::MAX as usize]>());
-   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ values of the type `[u8; usize::MAX]` are too big for the target architecture
+   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
 note: inside `std::mem::size_of::<[u8; usize::MAX]>`
   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
diff --git a/tests/ui/recursion/recursive-static-definition.rs b/tests/ui/recursion/recursive-static-definition.rs
index 5317c47076e..55db6a86bf1 100644
--- a/tests/ui/recursion/recursive-static-definition.rs
+++ b/tests/ui/recursion/recursive-static-definition.rs
@@ -1,5 +1,5 @@
 pub static FOO: u32 = FOO;
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR encountered static that tried to initialize itself with itself
 
 #[derive(Copy, Clone)]
 pub union Foo {
@@ -7,6 +7,6 @@ pub union Foo {
 }
 
 pub static BAR: Foo = BAR;
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR encountered static that tried to initialize itself with itself
 
 fn main() {}
diff --git a/tests/ui/recursion/recursive-static-definition.stderr b/tests/ui/recursion/recursive-static-definition.stderr
index 86a22c990e9..28df85ffaaf 100644
--- a/tests/ui/recursion/recursive-static-definition.stderr
+++ b/tests/ui/recursion/recursive-static-definition.stderr
@@ -1,14 +1,14 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: encountered static that tried to initialize itself with itself
   --> $DIR/recursive-static-definition.rs:1:23
    |
 LL | pub static FOO: u32 = FOO;
-   |                       ^^^ encountered static that tried to initialize itself with itself
+   |                       ^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: encountered static that tried to initialize itself with itself
   --> $DIR/recursive-static-definition.rs:9:23
    |
 LL | pub static BAR: Foo = BAR;
-   |                       ^^^ encountered static that tried to initialize itself with itself
+   |                       ^^^ could not evaluate static initializer
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/simd/const-err-trumps-simd-err.rs b/tests/ui/simd/const-err-trumps-simd-err.rs
index 05a224d037a..8d9870855f8 100644
--- a/tests/ui/simd/const-err-trumps-simd-err.rs
+++ b/tests/ui/simd/const-err-trumps-simd-err.rs
@@ -16,8 +16,7 @@ struct int8x4_t([u8; 4]);
 
 fn get_elem<const LANE: u32>(a: int8x4_t) -> u8 {
     const { assert!(LANE < 4); } // the error should be here...
-    //~^ ERROR failed
-    //~| NOTE assertion failed
+    //~^ ERROR assertion failed
     unsafe { simd_extract(a, LANE) } // ...not here
 }
 
diff --git a/tests/ui/simd/const-err-trumps-simd-err.stderr b/tests/ui/simd/const-err-trumps-simd-err.stderr
index 389f75492c6..b648cadef01 100644
--- a/tests/ui/simd/const-err-trumps-simd-err.stderr
+++ b/tests/ui/simd/const-err-trumps-simd-err.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `get_elem::<4>::{constant#0}` failed
+error[E0080]: evaluation panicked: assertion failed: LANE < 4
   --> $DIR/const-err-trumps-simd-err.rs:18:13
    |
 LL |     const { assert!(LANE < 4); } // the error should be here...
-   |             ^^^^^^^^^^^^^^^^^ evaluation panicked: assertion failed: LANE < 4
+   |             ^^^^^^^^^^^^^^^^^ evaluation of `get_elem::<4>::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/const-err-trumps-simd-err.rs:18:5
@@ -11,7 +11,7 @@ LL |     const { assert!(LANE < 4); } // the error should be here...
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 note: the above error was encountered while instantiating `fn get_elem::<4>`
-  --> $DIR/const-err-trumps-simd-err.rs:25:5
+  --> $DIR/const-err-trumps-simd-err.rs:24:5
    |
 LL |     get_elem::<4>(int8x4_t([0, 0, 0, 0]));
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr b/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr
index c01b2ccd163..1c112061fb6 100644
--- a/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr
+++ b/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr
@@ -9,11 +9,11 @@ LL | const _: *const Foo = 0 as _;
    | ^^^^^^^^^^^^^^^^^^^
    = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: a cycle occurred during layout computation
   --> $DIR/stack-overflow-trait-infer-98842.rs:14:1
    |
 LL | const _: *const Foo = 0 as _;
-   | ^^^^^^^^^^^^^^^^^^^ a cycle occurred during layout computation
+   | ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr b/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr
index c01b2ccd163..1c112061fb6 100644
--- a/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr
+++ b/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr
@@ -9,11 +9,11 @@ LL | const _: *const Foo = 0 as _;
    | ^^^^^^^^^^^^^^^^^^^
    = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: a cycle occurred during layout computation
   --> $DIR/stack-overflow-trait-infer-98842.rs:14:1
    |
 LL | const _: *const Foo = 0 as _;
-   | ^^^^^^^^^^^^^^^^^^^ a cycle occurred during layout computation
+   | ^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.rs b/tests/ui/sized/stack-overflow-trait-infer-98842.rs
index 8a958870b0e..1c9f6c593f4 100644
--- a/tests/ui/sized/stack-overflow-trait-infer-98842.rs
+++ b/tests/ui/sized/stack-overflow-trait-infer-98842.rs
@@ -12,6 +12,6 @@ struct Foo(<&'static Foo as ::core::ops::Deref>::Target);
 // and it will infinitely recurse somewhere trying to figure out the
 // size of this pointer (is my guess):
 const _: *const Foo = 0 as _;
-//~^ ERROR evaluation of constant value failed
+//~^ ERROR a cycle occurred during layout computation
 
 pub fn main() {}
diff --git a/tests/ui/statics/issue-14227.rs b/tests/ui/statics/issue-14227.rs
index 8a70f51d3b4..84994f033d1 100644
--- a/tests/ui/statics/issue-14227.rs
+++ b/tests/ui/statics/issue-14227.rs
@@ -3,6 +3,6 @@ extern "C" {
 }
 static CRASH: u32 = symbol;
 //~^ ERROR use of extern static is unsafe and requires
-//~| ERROR could not evaluate static initializer
+//~| ERROR cannot access extern static `symbol`
 
 fn main() {}
diff --git a/tests/ui/statics/issue-14227.stderr b/tests/ui/statics/issue-14227.stderr
index 3551821a3da..119e70e7b23 100644
--- a/tests/ui/statics/issue-14227.stderr
+++ b/tests/ui/statics/issue-14227.stderr
@@ -1,8 +1,8 @@
-error[E0080]: could not evaluate static initializer
+error[E0080]: cannot access extern static `symbol`
   --> $DIR/issue-14227.rs:4:21
    |
 LL | static CRASH: u32 = symbol;
-   |                     ^^^^^^ cannot access extern static `symbol`
+   |                     ^^^^^^ could not evaluate static initializer
 
 error[E0133]: use of extern static is unsafe and requires unsafe function or block
   --> $DIR/issue-14227.rs:4:21
diff --git a/tests/ui/statics/mutable_memory_validation.rs b/tests/ui/statics/mutable_memory_validation.rs
index 3bb572d38bc..033c2bc2839 100644
--- a/tests/ui/statics/mutable_memory_validation.rs
+++ b/tests/ui/statics/mutable_memory_validation.rs
@@ -11,7 +11,7 @@ struct Meh {
 }
 
 const MUH: Meh = Meh { x: unsafe { &mut *(&READONLY as *const _ as *mut _) } };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
 
 static READONLY: i32 = 0;
 
diff --git a/tests/ui/statics/mutable_memory_validation.stderr b/tests/ui/statics/mutable_memory_validation.stderr
index 76e1827ea12..df36287cc69 100644
--- a/tests/ui/statics/mutable_memory_validation.stderr
+++ b/tests/ui/statics/mutable_memory_validation.stderr
@@ -1,8 +1,8 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
   --> $DIR/mutable_memory_validation.rs:13:1
    |
 LL | const MUH: Meh = Meh { x: unsafe { &mut *(&READONLY as *const _ as *mut _) } };
-   | ^^^^^^^^^^^^^^ constructing invalid value at .x.<deref>: encountered `UnsafeCell` in read-only memory
+   | ^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: $SIZE, align: $ALIGN) {
diff --git a/tests/ui/statics/uninhabited-static.rs b/tests/ui/statics/uninhabited-static.rs
index 0f7c5ae6ef4..955d489d313 100644
--- a/tests/ui/statics/uninhabited-static.rs
+++ b/tests/ui/statics/uninhabited-static.rs
@@ -11,9 +11,9 @@ extern "C" {
 
 static VOID2: Void = unsafe { std::mem::transmute(()) }; //~ ERROR static of uninhabited type
 //~| WARN: previously accepted
-//~| ERROR could not evaluate static initializer
+//~| ERROR value of uninhabited type `Void`
 static NEVER2: Void = unsafe { std::mem::transmute(()) }; //~ ERROR static of uninhabited type
 //~| WARN: previously accepted
-//~| ERROR could not evaluate static initializer
+//~| ERROR value of uninhabited type `Void`
 
 fn main() {}
diff --git a/tests/ui/statics/uninhabited-static.stderr b/tests/ui/statics/uninhabited-static.stderr
index f891c0ce25b..e285df0c7ed 100644
--- a/tests/ui/statics/uninhabited-static.stderr
+++ b/tests/ui/statics/uninhabited-static.stderr
@@ -43,17 +43,17 @@ LL | static NEVER2: Void = unsafe { std::mem::transmute(()) };
    = note: for more information, see issue #74840 <https://github.com/rust-lang/rust/issues/74840>
    = note: uninhabited statics cannot be initialized, and any access would be an immediate error
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: constructing invalid value: encountered a value of uninhabited type `Void`
   --> $DIR/uninhabited-static.rs:12:31
    |
 LL | static VOID2: Void = unsafe { std::mem::transmute(()) };
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of uninhabited type `Void`
+   |                               ^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
-error[E0080]: could not evaluate static initializer
+error[E0080]: constructing invalid value: encountered a value of uninhabited type `Void`
   --> $DIR/uninhabited-static.rs:15:32
    |
 LL | static NEVER2: Void = unsafe { std::mem::transmute(()) };
-   |                                ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of uninhabited type `Void`
+   |                                ^^^^^^^^^^^^^^^^^^^^^^^ could not evaluate static initializer
 
 error: aborting due to 6 previous errors
 
diff --git a/tests/ui/structs/default-field-values/invalid-const.rs b/tests/ui/structs/default-field-values/invalid-const.rs
index 203a712868b..ddb73f68865 100644
--- a/tests/ui/structs/default-field-values/invalid-const.rs
+++ b/tests/ui/structs/default-field-values/invalid-const.rs
@@ -3,13 +3,13 @@
 
 pub struct Bat {
     pub bax: u8 = panic!("asdf"),
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: asdf
 }
 
 pub struct Baz<const C: u8> {
     pub bax: u8 = 130 + C, // ok
     pub bat: u8 = 130 + 130,
-    //~^ ERROR evaluation of `Baz::<C>::bat::{constant#0}` failed
+    //~^ ERROR attempt to compute `130_u8 + 130_u8`, which would overflow
     pub bay: u8 = 1, // ok
 }
 
diff --git a/tests/ui/structs/default-field-values/invalid-const.stderr b/tests/ui/structs/default-field-values/invalid-const.stderr
index 030bdbfcc3e..93f08c4c562 100644
--- a/tests/ui/structs/default-field-values/invalid-const.stderr
+++ b/tests/ui/structs/default-field-values/invalid-const.stderr
@@ -1,14 +1,14 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: asdf
   --> $DIR/invalid-const.rs:5:19
    |
 LL |     pub bax: u8 = panic!("asdf"),
-   |                   ^^^^^^^^^^^^^^ evaluation panicked: asdf
+   |                   ^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of `Baz::<C>::bat::{constant#0}` failed
+error[E0080]: attempt to compute `130_u8 + 130_u8`, which would overflow
   --> $DIR/invalid-const.rs:11:19
    |
 LL |     pub bat: u8 = 130 + 130,
-   |                   ^^^^^^^^^ attempt to compute `130_u8 + 130_u8`, which would overflow
+   |                   ^^^^^^^^^ evaluation of `Baz::<C>::bat::{constant#0}` failed
 
 error: aborting due to 2 previous errors
 
diff --git a/tests/ui/structs/default-field-values/post-mono.direct.stderr b/tests/ui/structs/default-field-values/post-mono.direct.stderr
index cdd80620c48..f177f1e7bbc 100644
--- a/tests/ui/structs/default-field-values/post-mono.direct.stderr
+++ b/tests/ui/structs/default-field-values/post-mono.direct.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Z::<1>::post_mono::{constant#0}` failed
+error[E0080]: attempt to divide `1_usize` by zero
   --> $DIR/post-mono.rs:7:24
    |
 LL |     post_mono: usize = X / 0,
-   |                        ^^^^^ attempt to divide `1_usize` by zero
+   |                        ^^^^^ evaluation of `Z::<1>::post_mono::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/post-mono.rs:17:19
diff --git a/tests/ui/structs/default-field-values/post-mono.indirect.stderr b/tests/ui/structs/default-field-values/post-mono.indirect.stderr
index 56c27a6e5dc..574f539659b 100644
--- a/tests/ui/structs/default-field-values/post-mono.indirect.stderr
+++ b/tests/ui/structs/default-field-values/post-mono.indirect.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of `Z::<1>::post_mono::{constant#0}` failed
+error[E0080]: attempt to divide `1_usize` by zero
   --> $DIR/post-mono.rs:7:24
    |
 LL |     post_mono: usize = X / 0,
-   |                        ^^^^^ attempt to divide `1_usize` by zero
+   |                        ^^^^^ evaluation of `Z::<1>::post_mono::{constant#0}` failed
 
 note: erroneous constant encountered
   --> $DIR/post-mono.rs:12:19
diff --git a/tests/ui/structs/default-field-values/post-mono.rs b/tests/ui/structs/default-field-values/post-mono.rs
index 4de31f6e2fb..68dfa391bb4 100644
--- a/tests/ui/structs/default-field-values/post-mono.rs
+++ b/tests/ui/structs/default-field-values/post-mono.rs
@@ -5,7 +5,7 @@
 
 struct Z<const X: usize> {
     post_mono: usize = X / 0,
-    //~^ ERROR evaluation of `Z::<1>::post_mono::{constant#0}` failed
+    //~^ ERROR attempt to divide `1_usize` by zero
 }
 
 fn indirect<const X: usize>() {
diff --git a/tests/ui/transmutability/uninhabited.rs b/tests/ui/transmutability/uninhabited.rs
index 274104ffb39..4e48b590c42 100644
--- a/tests/ui/transmutability/uninhabited.rs
+++ b/tests/ui/transmutability/uninhabited.rs
@@ -38,7 +38,7 @@ fn yawning_void_struct() {
     const _: () = {
         assert!(std::mem::size_of::<YawningVoid>() == std::mem::size_of::<u128>());
         // Just to be sure the above constant actually evaluated:
-        assert!(false); //~ ERROR: evaluation of constant value failed
+        assert!(false); //~ ERROR: evaluation panicked: assertion failed: false
     };
 
     // This transmutation is vacuously acceptable; since one cannot construct a
@@ -60,7 +60,7 @@ fn yawning_void_enum() {
     const _: () = {
         assert!(std::mem::size_of::<YawningVoid>() == std::mem::size_of::<u128>());
         // Just to be sure the above constant actually evaluated:
-        assert!(false); //~ ERROR: evaluation of constant value failed
+        assert!(false); //~ ERROR: evaluation panicked: assertion failed: false
     };
 
     // This transmutation is vacuously acceptable; since one cannot construct a
@@ -84,7 +84,7 @@ fn distant_void() {
     const _: () = {
         assert!(std::mem::size_of::<DistantVoid>() == std::mem::size_of::<usize>());
         // Just to be sure the above constant actually evaluated:
-        assert!(false); //~ ERROR: evaluation of constant value failed
+        assert!(false); //~ ERROR: evaluation panicked: assertion failed: false
     };
 
     assert::is_maybe_transmutable::<DistantVoid, ()>();
diff --git a/tests/ui/transmutability/uninhabited.stderr b/tests/ui/transmutability/uninhabited.stderr
index 3044b502d31..70bb48de56d 100644
--- a/tests/ui/transmutability/uninhabited.stderr
+++ b/tests/ui/transmutability/uninhabited.stderr
@@ -40,11 +40,11 @@ LL | |                 lifetimes: true,
 LL | |         }>
    | |__________^ required by this bound in `is_maybe_transmutable`
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: assertion failed: false
   --> $DIR/uninhabited.rs:41:9
    |
 LL |         assert!(false);
-   |         ^^^^^^^^^^^^^^ evaluation panicked: assertion failed: false
+   |         ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0277]: `()` cannot be safely transmuted into `yawning_void_enum::Void`
   --> $DIR/uninhabited.rs:71:41
@@ -67,11 +67,11 @@ LL | |                 lifetimes: true,
 LL | |         }>
    | |__________^ required by this bound in `is_maybe_transmutable`
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: assertion failed: false
   --> $DIR/uninhabited.rs:63:9
    |
 LL |         assert!(false);
-   |         ^^^^^^^^^^^^^^ evaluation panicked: assertion failed: false
+   |         ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0277]: `u128` cannot be safely transmuted into `DistantVoid`
   --> $DIR/uninhabited.rs:92:43
@@ -94,11 +94,11 @@ LL | |                 lifetimes: true,
 LL | |         }>
    | |__________^ required by this bound in `is_maybe_transmutable`
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: assertion failed: false
   --> $DIR/uninhabited.rs:87:9
    |
 LL |         assert!(false);
-   |         ^^^^^^^^^^^^^^ evaluation panicked: assertion failed: false
+   |         ^^^^^^^^^^^^^^ evaluation of constant value failed
 
 error[E0277]: `Src` cannot be safely transmuted into `issue_126267::Error`
   --> $DIR/uninhabited.rs:108:42
diff --git a/tests/ui/treat-err-as-bug/err.rs b/tests/ui/treat-err-as-bug/err.rs
index 7868c06fee1..6f0e3c55fbb 100644
--- a/tests/ui/treat-err-as-bug/err.rs
+++ b/tests/ui/treat-err-as-bug/err.rs
@@ -7,7 +7,7 @@
 #![crate_type = "rlib"]
 
 pub static C: u32 = 0 - 1;
-//~^ ERROR could not evaluate static initializer
+//~^ ERROR attempt to compute `0_u32 - 1_u32`, which would overflow
 
 //~? RAW aborting due to `-Z treat-err-as-bug=1`
 //~? RAW [eval_static_initializer] evaluating initializer of static `C`
diff --git a/tests/ui/treat-err-as-bug/err.stderr b/tests/ui/treat-err-as-bug/err.stderr
index 2049df22000..69c33cf8927 100644
--- a/tests/ui/treat-err-as-bug/err.stderr
+++ b/tests/ui/treat-err-as-bug/err.stderr
@@ -1,8 +1,8 @@
-error: internal compiler error[E0080]: could not evaluate static initializer
+error: internal compiler error[E0080]: attempt to compute `0_u32 - 1_u32`, which would overflow
   --> $DIR/err.rs:9:21
    |
 LL | pub static C: u32 = 0 - 1;
-   |                     ^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
+   |                     ^^^^^ could not evaluate static initializer
 
 
 error: the compiler unexpectedly panicked. this is a bug.
diff --git a/tests/ui/type/pattern_types/literals.rs b/tests/ui/type/pattern_types/literals.rs
index b2a83a2a8bd..fbca421aa9a 100644
--- a/tests/ui/type/pattern_types/literals.rs
+++ b/tests/ui/type/pattern_types/literals.rs
@@ -84,12 +84,12 @@ fn single_element_range_exclusive() -> pattern_type!(u32 is 0..1) {
 }
 
 fn empty_range_at_base_type_min() -> pattern_type!(u32 is 0..0) {
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: exclusive range end at minimum value of type
     0
 }
 
 fn empty_range_at_base_type_min2() -> pattern_type!(u32 is 0..0) {
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: exclusive range end at minimum value of type
     1
 }
 
@@ -104,17 +104,17 @@ fn empty_range2() -> pattern_type!(u32 is 1..1) {
 }
 
 fn wraparound_range_at_base_ty_end() -> pattern_type!(u32 is 1..0) {
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: exclusive range end at minimum value of type
     1
 }
 
 fn wraparound_range_at_base_ty_end2() -> pattern_type!(u32 is 1..0) {
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: exclusive range end at minimum value of type
     0
 }
 
 fn wraparound_range_at_base_ty_end3() -> pattern_type!(u32 is 1..0) {
-    //~^ ERROR evaluation of constant value failed
+    //~^ ERROR evaluation panicked: exclusive range end at minimum value of type
     2
 }
 
diff --git a/tests/ui/type/pattern_types/literals.stderr b/tests/ui/type/pattern_types/literals.stderr
index 5c926742f3c..4eb5bf4565d 100644
--- a/tests/ui/type/pattern_types/literals.stderr
+++ b/tests/ui/type/pattern_types/literals.stderr
@@ -1,32 +1,32 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/literals.rs:86:62
    |
 LL | fn empty_range_at_base_type_min() -> pattern_type!(u32 is 0..0) {
-   |                                                              ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                                              ^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/literals.rs:91:63
    |
 LL | fn empty_range_at_base_type_min2() -> pattern_type!(u32 is 0..0) {
-   |                                                               ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                                               ^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/literals.rs:106:65
    |
 LL | fn wraparound_range_at_base_ty_end() -> pattern_type!(u32 is 1..0) {
-   |                                                                 ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                                                 ^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/literals.rs:111:66
    |
 LL | fn wraparound_range_at_base_ty_end2() -> pattern_type!(u32 is 1..0) {
-   |                                                                  ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                                                  ^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/literals.rs:116:66
    |
 LL | fn wraparound_range_at_base_ty_end3() -> pattern_type!(u32 is 1..0) {
-   |                                                                  ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                                                  ^ evaluation of constant value failed
 
 error[E0308]: mismatched types
   --> $DIR/literals.rs:9:5
diff --git a/tests/ui/type/pattern_types/range_patterns.rs b/tests/ui/type/pattern_types/range_patterns.rs
index 21c1454d6cd..86b618a8d24 100644
--- a/tests/ui/type/pattern_types/range_patterns.rs
+++ b/tests/ui/type/pattern_types/range_patterns.rs
@@ -23,7 +23,7 @@ type EMPTY = pattern_type!(u32 is 1..1); //~ ERROR unknown layout
 
 #[rustc_layout(debug)]
 type WRAP = pattern_type!(u32 is 1..0); //~ ERROR unknown layout
-//~^ ERROR: evaluation of constant value failed
+//~^ ERROR: evaluation panicked: exclusive range end at minimum value of type
 
 #[rustc_layout(debug)]
 type WRAP2 = pattern_type!(u32 is 5..2); //~ ERROR unknown layout
diff --git a/tests/ui/type/pattern_types/range_patterns.stderr b/tests/ui/type/pattern_types/range_patterns.stderr
index a05995a33f9..632ca689fc0 100644
--- a/tests/ui/type/pattern_types/range_patterns.stderr
+++ b/tests/ui/type/pattern_types/range_patterns.stderr
@@ -365,11 +365,11 @@ error: the type has an unknown layout
 LL | type EMPTY = pattern_type!(u32 is 1..1);
    | ^^^^^^^^^^
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/range_patterns.rs:25:37
    |
 LL | type WRAP = pattern_type!(u32 is 1..0);
-   |                                     ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                     ^ evaluation of constant value failed
 
 error: the type has an unknown layout
   --> $DIR/range_patterns.rs:25:1
diff --git a/tests/ui/type/pattern_types/reverse_range.rs b/tests/ui/type/pattern_types/reverse_range.rs
index e698e9dd541..34c931e4e96 100644
--- a/tests/ui/type/pattern_types/reverse_range.rs
+++ b/tests/ui/type/pattern_types/reverse_range.rs
@@ -5,7 +5,6 @@
 use std::pat::pattern_type;
 
 const NONE: pattern_type!(u8 is 1..0) = unsafe { std::mem::transmute(3_u8) };
-//~^ NOTE: exclusive range end at minimum value of type
-//~| ERROR: evaluation of constant value failed
+//~^ ERROR: exclusive range end at minimum value of type
 
 fn main() {}
diff --git a/tests/ui/type/pattern_types/reverse_range.stderr b/tests/ui/type/pattern_types/reverse_range.stderr
index 90f8ef3261a..640296eb891 100644
--- a/tests/ui/type/pattern_types/reverse_range.stderr
+++ b/tests/ui/type/pattern_types/reverse_range.stderr
@@ -1,8 +1,8 @@
-error[E0080]: evaluation of constant value failed
+error[E0080]: evaluation panicked: exclusive range end at minimum value of type
   --> $DIR/reverse_range.rs:7:36
    |
 LL | const NONE: pattern_type!(u8 is 1..0) = unsafe { std::mem::transmute(3_u8) };
-   |                                    ^ evaluation panicked: exclusive range end at minimum value of type
+   |                                    ^ evaluation of constant value failed
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/type/pattern_types/validity.rs b/tests/ui/type/pattern_types/validity.rs
index c61bb71ac25..a4e49692c98 100644
--- a/tests/ui/type/pattern_types/validity.rs
+++ b/tests/ui/type/pattern_types/validity.rs
@@ -8,32 +8,32 @@
 use std::pat::pattern_type;
 
 const BAD: pattern_type!(u32 is 1..) = unsafe { std::mem::transmute(0) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value: encountered 0
 
 const BAD_UNINIT: pattern_type!(u32 is 1..) =
-    //~^ ERROR: evaluation of constant value failed
+    //~^ ERROR: using uninitialized data, but this operation requires initialized memory
     unsafe { std::mem::transmute(std::mem::MaybeUninit::<u32>::uninit()) };
 
 const BAD_PTR: pattern_type!(usize is 1..) = unsafe { std::mem::transmute(&42) };
-//~^ ERROR: evaluation of constant value failed
+//~^ ERROR: unable to turn pointer into integer
 
 const BAD_AGGREGATE: (pattern_type!(u32 is 1..), u32) = (unsafe { std::mem::transmute(0) }, 0);
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value at .0: encountered 0
 
 struct Foo(Bar);
 struct Bar(pattern_type!(u32 is 1..));
 
 const BAD_FOO: Foo = Foo(Bar(unsafe { std::mem::transmute(0) }));
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value at .0.0: encountered 0
 
 const CHAR_UNINIT: pattern_type!(char is 'A'..'Z') =
-    //~^ ERROR: evaluation of constant value failed
+    //~^ ERROR: using uninitialized data, but this operation requires initialized memory
     unsafe { std::mem::transmute(std::mem::MaybeUninit::<u32>::uninit()) };
 
 const CHAR_OOB_PAT: pattern_type!(char is 'A'..'Z') = unsafe { std::mem::transmute('a') };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value: encountered 97, but expected something in the range 65..=89
 
 const CHAR_OOB: pattern_type!(char is 'A'..'Z') = unsafe { std::mem::transmute(u32::MAX) };
-//~^ ERROR: it is undefined behavior to use this value
+//~^ ERROR: constructing invalid value: encountered 0xffffffff
 
 fn main() {}
diff --git a/tests/ui/type/pattern_types/validity.stderr b/tests/ui/type/pattern_types/validity.stderr
index b990ec2d368..3219a2858c5 100644
--- a/tests/ui/type/pattern_types/validity.stderr
+++ b/tests/ui/type/pattern_types/validity.stderr
@@ -1,73 +1,73 @@
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0, but expected something greater or equal to 1
   --> $DIR/validity.rs:10:1
    |
 LL | const BAD: pattern_type!(u32 is 1..) = unsafe { std::mem::transmute(0) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/validity.rs:13:1
    |
 LL | const BAD_UNINIT: pattern_type!(u32 is 1..) =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: unable to turn pointer into integer
   --> $DIR/validity.rs:17:1
    |
 LL | const BAD_PTR: pattern_type!(usize is 1..) = unsafe { std::mem::transmute(&42) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to turn pointer into integer
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
    |
    = help: this code performed an operation that depends on the underlying bytes representing a pointer
    = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
   --> $DIR/validity.rs:20:1
    |
 LL | const BAD_AGGREGATE: (pattern_type!(u32 is 1..), u32) = (unsafe { std::mem::transmute(0) }, 0);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 8, align: 4) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value at .0.0: encountered 0, but expected something greater or equal to 1
   --> $DIR/validity.rs:26:1
    |
 LL | const BAD_FOO: Foo = Foo(Bar(unsafe { std::mem::transmute(0) }));
-   | ^^^^^^^^^^^^^^^^^^ constructing invalid value at .0.0: encountered 0, but expected something greater or equal to 1
+   | ^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                HEX_DUMP
            }
 
-error[E0080]: evaluation of constant value failed
+error[E0080]: using uninitialized data, but this operation requires initialized memory
   --> $DIR/validity.rs:29:1
    |
 LL | const CHAR_UNINIT: pattern_type!(char is 'A'..'Z') =
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of constant value failed
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 97, but expected something in the range 65..=89
   --> $DIR/validity.rs:33:1
    |
 LL | const CHAR_OOB_PAT: pattern_type!(char is 'A'..'Z') = unsafe { std::mem::transmute('a') };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 97, but expected something in the range 65..=89
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {
                HEX_DUMP
            }
 
-error[E0080]: it is undefined behavior to use this value
+error[E0080]: constructing invalid value: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
   --> $DIR/validity.rs:36:1
    |
 LL | const CHAR_OOB: pattern_type!(char is 'A'..'Z') = unsafe { std::mem::transmute(u32::MAX) };
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered 0xffffffff, but expected a valid unicode scalar value (in `0..=0x10FFFF` but not in `0xD800..=0xDFFF`)
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ it is undefined behavior to use this value
    |
    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
    = note: the raw bytes of the constant (size: 4, align: 4) {