LL | C
| ^ not covered
= note: the matched value is of type `E`
-help: you might want to use `if let` to ignore the variant that isn't matched
+help: you might want to use `if let` to ignore the variants that aren't matched
+ |
+LL | if let E::A = e { todo!() }
+ | ++ ~~~~~~~~~~~
+help: alternatively, on nightly, you might want to use `#![feature(let_else)]` to handle the variants that aren't matched
|
-LL | if let E::A = e { /* */ }
- | ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL | let E::A = e else { todo!() };
+ | ++++++++++++++++
error[E0004]: non-exhaustive patterns: `&B` and `&C` not covered
--> $DIR/non-exhaustive-defined-here.rs:52:11
LL | C
| ^ not covered
= note: the matched value is of type `&E`
-help: you might want to use `if let` to ignore the variant that isn't matched
+help: you might want to use `if let` to ignore the variants that aren't matched
|
-LL | if let E::A = e { /* */ }
- | ~~~~~~~~~~~~~~~~~~~~~~~~~
+LL | if let E::A = e { todo!() }
+ | ++ ~~~~~~~~~~~
+help: alternatively, on nightly, you might want to use `#![feature(let_else)]` to handle the variants that aren't matched
+ |
+LL | let E::A = e else { todo!() };
+ | ++++++++++++++++
error[E0004]: non-exhaustive patterns: `&&mut &B` and `&&mut &C` not covered
--> $DIR/non-exhaustive-defined-here.rs:66:11
LL | C
| ^ not covered
= note: the matched value is of type `&&mut &E`
-help: you might want to use `if let` to ignore the variant that isn't matched
+help: you might want to use `if let` to ignore the variants that aren't matched
|
-LL | if let E::A = e { /* */ }
+LL | if let E::A = e { todo!() }
+ | ++ ~~~~~~~~~~~
+help: alternatively, on nightly, you might want to use `#![feature(let_else)]` to handle the variants that aren't matched
|
+LL | let E::A = e else { todo!() };
+ | ++++++++++++++++
error[E0004]: non-exhaustive patterns: `None` not covered
--> $DIR/non-exhaustive-defined-here.rs:92:11
= note: the matched value is of type `Opt`
help: you might want to use `if let` to ignore the variant that isn't matched
|
-LL | if let Opt::Some(ref _x) = e { /* */ }
- | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL | let _x = if let Opt::Some(ref _x) = e { _x } else { todo!() };
+ | +++++++++++ +++++++++++++++++++++++
+help: alternatively, on nightly, you might want to use `#![feature(let_else)]` to handle the variant that isn't matched
+ |
+LL | let Opt::Some(ref _x) = e else { todo!() };
+ | ++++++++++++++++
error: aborting due to 8 previous errors