// 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)); }