about summary refs log tree commit diff
diff options
context:
space:
mode:
authorXelph <fierrosalinas.la@gmail.com>2024-12-02 20:55:45 -0700
committerXelph <fierrosalinas.la@gmail.com>2024-12-02 20:55:45 -0700
commit3b2ff90529ec6c24d87a7a163ed6acf70acfe4b3 (patch)
tree76885ed35cf1459e7bff62fbc2dc4b3db87abf72
parent42b4b9c669ba8ddbf4291211711a79d66e933f41 (diff)
downloadrust-3b2ff90529ec6c24d87a7a163ed6acf70acfe4b3.tar.gz
rust-3b2ff90529ec6c24d87a7a163ed6acf70acfe4b3.zip
Add ui test for const evaluation fail when type is too big.
-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`.