about summary refs log tree commit diff
path: root/tests/ui/limits/huge-enum.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/limits/huge-enum.rs')
-rw-r--r--tests/ui/limits/huge-enum.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/limits/huge-enum.rs b/tests/ui/limits/huge-enum.rs
new file mode 100644
index 00000000000..39ea6e11b1f
--- /dev/null
+++ b/tests/ui/limits/huge-enum.rs
@@ -0,0 +1,18 @@
+// build-fail
+// normalize-stderr-test "std::option::Option<\[u32; \d+\]>" -> "TYPE"
+// normalize-stderr-test "\[u32; \d+\]" -> "TYPE"
+
+// FIXME https://github.com/rust-lang/rust/issues/59774
+// normalize-stderr-test "thread.*panicked.*Metadata module not compiled.*\n" -> ""
+// normalize-stderr-test "note:.*RUST_BACKTRACE=1.*\n" -> ""
+
+#[cfg(target_pointer_width = "32")]
+type BIG = Option<[u32; (1<<29)-1]>;
+
+#[cfg(target_pointer_width = "64")]
+type BIG = Option<[u32; (1<<45)-1]>;
+
+fn main() {
+    let big: BIG = None;
+    //~^ ERROR are too big for the current architecture
+}