From 081c49783f5cfc24f66f3ac36244d816567cc120 Mon Sep 17 00:00:00 2001 From: Oliver Scherer Date: Sun, 4 Nov 2018 12:48:51 +0100 Subject: [PATCH] generalize the message about the creation of layout restricted types --- src/librustc_mir/transform/check_unsafety.rs | 4 ++-- src/test/ui/unsafe/ranged_ints.stderr | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/librustc_mir/transform/check_unsafety.rs b/src/librustc_mir/transform/check_unsafety.rs index 05052c8a8c8c..2a80f27ecab5 100644 --- a/src/librustc_mir/transform/check_unsafety.rs +++ b/src/librustc_mir/transform/check_unsafety.rs @@ -144,8 +144,8 @@ impl<'a, 'tcx> Visitor<'tcx> for UnsafetyChecker<'a, 'tcx> { (Bound::Unbounded, Bound::Unbounded) => {}, _ => self.require_unsafe( "initializing type with `rustc_layout_scalar_valid_range` attr", - "initializing `NonZero` with a `0` violates layout constraints \ - and is undefined behavior", + "initializing a layout restricted type's field with a value outside \ + the valid range is undefined behavior", UnsafetyViolationKind::MinConstFn, ), } diff --git a/src/test/ui/unsafe/ranged_ints.stderr b/src/test/ui/unsafe/ranged_ints.stderr index c28adba9ee53..f59a930b5a90 100644 --- a/src/test/ui/unsafe/ranged_ints.stderr +++ b/src/test/ui/unsafe/ranged_ints.stderr @@ -4,7 +4,7 @@ error[E0133]: initializing type with `rustc_layout_scalar_valid_range` attr is u LL | let _x = NonZero(0); //~ ERROR initializing type with `rustc_layout_scalar_valid_range` attr | ^^^^^^^^^^ initializing type with `rustc_layout_scalar_valid_range` attr | - = note: initializing `NonZero` with a `0` violates layout constraints and is undefined behavior + = note: initializing a layout restricted type's field with a value outside the valid range is undefined behavior error: aborting due to previous error