about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/consts/const-eval-fail-too-big.rs12
-rw-r--r--tests/ui/consts/const-eval-fail-too-big.stderr9
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/consts/const-eval-fail-too-big.rs b/tests/ui/consts/const-eval-fail-too-big.rs
new file mode 100644
index 00000000000..4b5dbc1d7a4
--- /dev/null
+++ b/tests/ui/consts/const-eval-fail-too-big.rs
@@ -0,0 +1,12 @@
+//Error output test for #78834: Type is too big for the target architecture
+struct B<
+    A: Sized = [(); {
+                   let x = [0u8; !0usize];
+                   //~^ ERROR evaluation of constant value failed
+                   1
+               }],
+> {
+    a: A,
+}
+
+fn main() {}
diff --git a/tests/ui/consts/const-eval-fail-too-big.stderr b/tests/ui/consts/const-eval-fail-too-big.stderr
new file mode 100644
index 00000000000..ae666483233
--- /dev/null
+++ b/tests/ui/consts/const-eval-fail-too-big.stderr
@@ -0,0 +1,9 @@
+error[E0080]: evaluation of constant value failed
+  --> $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
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0080`.