summaryrefslogtreecommitdiffstats
path: root/src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs')
-rw-r--r--src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs b/src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs
new file mode 100644
index 000000000..06cf8c0f0
--- /dev/null
+++ b/src/test/ui/invalid/invalid_rustc_layout_scalar_valid_range.rs
@@ -0,0 +1,30 @@
+#![feature(rustc_attrs)]
+
+#[rustc_layout_scalar_valid_range_start(u32::MAX)] //~ ERROR
+pub struct A(u32);
+
+#[rustc_layout_scalar_valid_range_end(1, 2)] //~ ERROR
+pub struct B(u8);
+
+#[rustc_layout_scalar_valid_range_end(a = "a")] //~ ERROR
+pub struct C(i32);
+
+#[rustc_layout_scalar_valid_range_end(1)] //~ ERROR
+enum E {
+ X = 1,
+ Y = 14,
+}
+
+#[rustc_layout_scalar_valid_range_start(rustc_layout_scalar_valid_range_start)] //~ ERROR
+struct NonZero<T>(T);
+
+fn not_field() -> impl Send {
+ NonZero(false)
+}
+
+fn main() {
+ let _ = A(0);
+ let _ = B(0);
+ let _ = C(0);
+ let _ = E::X;
+}