summary refs log tree commit diff
path: root/tests/ui/enum-discriminant
diff options
context:
space:
mode:
authorFedericoBruzzone <federico.bruzzone.i@gmail.com>2025-01-06 11:39:07 +0100
committerFedericoBruzzone <federico.bruzzone.i@gmail.com>2025-01-27 00:37:34 +0100
commitcef97bce7b2a0e6ef2208aaa1ec267b800d646af (patch)
tree3bc712129173e067edf350690dac3b3ade8f2f63 /tests/ui/enum-discriminant
parent15c6f7e1a3a0e51c9b18ce5b9a391e0c324b751c (diff)
downloadrust-cef97bce7b2a0e6ef2208aaa1ec267b800d646af.tar.gz
rust-cef97bce7b2a0e6ef2208aaa1ec267b800d646af.zip
Add `TooGeneric` variant to `LayoutError` and emit `Unknown` one
- `check-pass` test for a MRE of #135020
- fail test for #135138
- switch to `TooGeneric` for checking CMSE fn signatures
- switch to `TooGeneric` for compute `SizeSkeleton` (for transmute)
- fix broken tests
Diffstat (limited to 'tests/ui/enum-discriminant')
-rw-r--r--tests/ui/enum-discriminant/eval-error.rs2
-rw-r--r--tests/ui/enum-discriminant/eval-error.stderr12
2 files changed, 10 insertions, 4 deletions
diff --git a/tests/ui/enum-discriminant/eval-error.rs b/tests/ui/enum-discriminant/eval-error.rs
index f2c3b581627..08b71d52a8b 100644
--- a/tests/ui/enum-discriminant/eval-error.rs
+++ b/tests/ui/enum-discriminant/eval-error.rs
@@ -6,7 +6,7 @@ union Foo {
 
 enum Bar {
     Boo = {
-        let _: Option<Foo> = None;
+        let _: Option<Foo> = None; //~ ERROR evaluation of constant value failed
         0
     },
 }
diff --git a/tests/ui/enum-discriminant/eval-error.stderr b/tests/ui/enum-discriminant/eval-error.stderr
index 0f12308de3c..6bec2c8b420 100644
--- a/tests/ui/enum-discriminant/eval-error.stderr
+++ b/tests/ui/enum-discriminant/eval-error.stderr
@@ -45,7 +45,13 @@ help: wrap the field type in `ManuallyDrop<...>`
 LL |     a: std::mem::ManuallyDrop<str>,
    |        +++++++++++++++++++++++   +
 
-error: aborting due to 4 previous errors
+error[E0080]: evaluation of constant value failed
+  --> $DIR/eval-error.rs:9:30
+   |
+LL |         let _: Option<Foo> = None;
+   |                              ^^^^ the type `Foo` has an unknown layout
+
+error: aborting due to 5 previous errors
 
-Some errors have detailed explanations: E0277, E0517, E0740.
-For more information about an error, try `rustc --explain E0277`.
+Some errors have detailed explanations: E0080, E0277, E0517, E0740.
+For more information about an error, try `rustc --explain E0080`.