| // Issue #51976 |
| //@ run-rustfix |
| #![allow(unused_variables)] // allowed so we don't get overlapping suggestions |
| enum Lol { |
| Foo, |
| Bar, |
| } |
| |
| fn foo(x: (Lol, Lol)) { |
| use Lol::*; |
| match &x { |
| (Foo, Bar) | (Bar, Foo) => {} |
| //~^ ERROR: variable `Ban` is not bound in all patterns |
| //~| HELP: you might have meant to use the similarly named previously used binding `Bar` |
| //~| NOTE: pattern doesn't bind `Ban` |
| //~| NOTE: variable not in all patterns |
| _ => {} |
| } |
| match &x { |
| (Foo, _) | (Bar, Foo) => {} |
| //~^ ERROR: variable `Ban` is not bound in all patterns |
| //~| HELP: you might have meant to use the similarly named unit variant `Bar` |
| //~| NOTE: pattern doesn't bind `Ban` |
| //~| NOTE: variable not in all patterns |
| _ => {} |
| } |
| } |
| |
| fn main() { |
| use Lol::*; |
| foo((Foo, Bar)); |
| } |