about summary refs log tree commit diff
path: root/tests/ui/unsafe/initializing-ranged-via-ctor.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-08-27 21:04:34 +0000
committerMichael Goulet <michael@errs.io>2023-08-30 15:01:58 -0700
commit0100a94231344987bc93998d5975e656bfd7767d (patch)
tree5fd77277b1918ed078d24645b2e3364f07b86ddd /tests/ui/unsafe/initializing-ranged-via-ctor.rs
parent59a8294849358a878a72358aa6d5fe5b9d312867 (diff)
downloadrust-0100a94231344987bc93998d5975e656bfd7767d.tar.gz
rust-0100a94231344987bc93998d5975e656bfd7767d.zip
rustc_layout_scalar_valid_range makes ctors unsafe
Diffstat (limited to 'tests/ui/unsafe/initializing-ranged-via-ctor.rs')
-rw-r--r--tests/ui/unsafe/initializing-ranged-via-ctor.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/ui/unsafe/initializing-ranged-via-ctor.rs b/tests/ui/unsafe/initializing-ranged-via-ctor.rs
new file mode 100644
index 00000000000..ca44fa7e4e7
--- /dev/null
+++ b/tests/ui/unsafe/initializing-ranged-via-ctor.rs
@@ -0,0 +1,11 @@
+#![feature(rustc_attrs)]
+#![allow(internal_features)]
+
+#[derive(Debug)]
+#[rustc_layout_scalar_valid_range_start(2)]
+struct NonZeroAndOneU8(u8);
+
+fn main() {
+    println!("{:?}", Some(1).map(NonZeroAndOneU8).unwrap());
+    //~^ ERROR found `unsafe fn(u8) -> NonZeroAndOneU8 {NonZeroAndOneU8}`
+}