summaryrefslogtreecommitdiffstats
path: root/tests/ui/uninhabited
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/uninhabited')
-rw-r--r--tests/ui/uninhabited/uninhabited-irrefutable.rs7
-rw-r--r--tests/ui/uninhabited/uninhabited-irrefutable.stderr4
2 files changed, 10 insertions, 1 deletions
diff --git a/tests/ui/uninhabited/uninhabited-irrefutable.rs b/tests/ui/uninhabited/uninhabited-irrefutable.rs
index 4b001aca2..cfd60a8d9 100644
--- a/tests/ui/uninhabited/uninhabited-irrefutable.rs
+++ b/tests/ui/uninhabited/uninhabited-irrefutable.rs
@@ -16,7 +16,9 @@ struct NotSoSecretlyEmpty {
}
enum Foo {
+ //~^ NOTE `Foo` defined here
A(foo::SecretlyEmpty),
+ //~^ NOTE not covered
B(foo::NotSoSecretlyEmpty),
C(NotSoSecretlyEmpty),
D(u32, u32),
@@ -27,4 +29,9 @@ fn main() {
let Foo::D(_y, _z) = x;
//~^ ERROR refutable pattern in local binding
//~| `Foo::A(_)` not covered
+ //~| NOTE `let` bindings require an "irrefutable pattern"
+ //~| NOTE for more information
+ //~| NOTE pattern `Foo::A(_)` is currently uninhabited
+ //~| NOTE the matched value is of type `Foo`
+ //~| HELP you might want to use `let else`
}
diff --git a/tests/ui/uninhabited/uninhabited-irrefutable.stderr b/tests/ui/uninhabited/uninhabited-irrefutable.stderr
index 8cafea555..daf75f51b 100644
--- a/tests/ui/uninhabited/uninhabited-irrefutable.stderr
+++ b/tests/ui/uninhabited/uninhabited-irrefutable.stderr
@@ -1,5 +1,5 @@
error[E0005]: refutable pattern in local binding
- --> $DIR/uninhabited-irrefutable.rs:27:9
+ --> $DIR/uninhabited-irrefutable.rs:29:9
|
LL | let Foo::D(_y, _z) = x;
| ^^^^^^^^^^^^^^ pattern `Foo::A(_)` not covered
@@ -11,8 +11,10 @@ note: `Foo` defined here
|
LL | enum Foo {
| ^^^
+LL |
LL | A(foo::SecretlyEmpty),
| - not covered
+ = note: pattern `Foo::A(_)` is currently uninhabited, but this variant contains private fields which may become inhabited in the future
= note: the matched value is of type `Foo`
help: you might want to use `let else` to handle the variant that isn't matched
|