Suggest adding { .. }
on accidental usage of unit variant pattern for a struct variant
#126243
Labels
A-diagnostics
Area: Messages for errors, warnings, and lints
A-suggestion-diagnostics
Area: Suggestions generated by the compiler applied by `cargo fix`
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Code
Current output
Desired output
Rationale and extra context
playground
I wrote code that looked like this while not having my brain turned on 100%. Due to said brain not functioning, it took me a while to understand what rustc was trying to tell me with the message pointing to the
Error::PreconditionFailed
pattern with the textnot a unit struct, unit variant or constant
.Error::PreconditionFailed
sure looked like a unit variant to me!What rustc was trying to tell me was that the definition of the
Error::PreconditionFailed
variant was a struct variant ("found struct variant") and my pattern wasn't matching the definition ("this pattern you specified looks like it's trying to match a variant that is not a unit struct, unit variant or constant").The change I needed to make was adding
{ .. }
to my pattern, because I was trying to distinguish different variants from each other, not use pieces within the variants. Suggesting{ .. }
seems like a decent starting point to me, but there could definitely be cases I'm not considering here and I'm totally open to hearing that ❤️Other cases
No response
Rust Version
Anything else?
No response
The text was updated successfully, but these errors were encountered: