Error code E0164
Something which is neither a tuple struct nor a tuple variant was used as a pattern.
Erroneous code example:
#![allow(unused)] fn main() { enum A { B, C, } impl A { fn new() {} } fn bar(foo: A) { match foo { A::new() => (), // error! _ => {} } } }
This error means that an attempt was made to match something which is neither a tuple struct nor a tuple variant. Only these two elements are allowed as a pattern:
#![allow(unused)] fn main() { enum A { B, C, } impl A { fn new() {} } fn bar(foo: A) { match foo { A::B => (), // ok! _ => {} } } }