Closed
Description
Code
pub mod cat {
pub enum Meow {
Foo,
}
}
fn main() {
let v = cat::Meow::Foo;
match v {}
}
Current output
error[E0004]: non-exhaustive patterns: `Meow::Foo` not covered
--> src/main.rs:8:11
|
8 | match v {}
| ^ pattern `Meow::Foo` not covered
|
note: `Meow` defined here
--> src/main.rs:2:14
|
2 | pub enum Meow {
| ^^^^
3 | Foo,
| --- not covered
= note: the matched value is of type `Meow`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
|
8 ~ match v {
9 + Meow::Foo => todo!(),
10~ }
|
For more information about this error, try `rustc --explain E0004`.
error: could not compile `playground` (bin "playground") due to 1 previous error
Desired output
error[E0004]: non-exhaustive patterns: `Meow::Foo` not covered
--> src/main.rs:8:11
|
8 | match v {}
| ^ pattern `Meow::Foo` not covered
|
note: `Meow` defined here
--> src/main.rs:2:14
|
2 | pub enum Meow {
| ^^^^
3 | Foo,
| --- not covered
= note: the matched value is of type `Meow`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
|
8 ~ match v {
9 + cat::Meow::Foo => todo!(),
10~ }
|
For more information about this error, try `rustc --explain E0004`.
error: could not compile `playground` (bin "playground") due to 1 previous error
Rationale and extra context
I think there should be a discussion about whether the path should be in front of the name of the enum. Anyway, the code suggestion is wrong because it will cause an error if we apply it.
Other cases
Rust Version
playground(1.87.0-nightly (2025-02-28 287487624357c19b22d2))
Anything else?
No response