#![allow(non_camel_case_types)] enum E { A, B, c } pub mod m { const CONST1: usize = 10; pub const Const2: usize = 20; } fn main() { let y = 1; match y { a | b => {} //~ ERROR variable `a` is not bound in all patterns //~| ERROR variable `b` is not bound in all patterns } let x = (E::A, E::B); match x { (A, B) | (ref B, c) | (c, A) => () //~^ ERROR variable `A` is not bound in all patterns //~| ERROR variable `B` is not bound in all patterns //~| ERROR variable `B` is bound inconsistently //~| ERROR mismatched types //~| ERROR variable `c` is not bound in all patterns //~| HELP if you meant to match on unit variant `E::A`, use the full path in the pattern } let z = (10, 20); match z { (CONST1, _) | (_, Const2) => () //~^ ERROR variable `CONST1` is not bound in all patterns //~| ERROR variable `Const2` is not bound in all patterns //~| HELP if you meant to match on constant `m::Const2`, use the full path in the pattern } }