#![feature(plugin)] #![plugin(clippy)] #![warn(clippy)] #![allow(unused, if_let_redundant_pattern_matching)] fn main() { #[derive(Debug)] enum Foo { A(String), B, } struct Thingy(Foo); macro_rules! issue_1404 { ($idx:tt) => {{ let thingy = Thingy(Foo::A("Foo".into())); let t = &thingy; match t.$idx { Foo::A(ref val) => { println!("42"); }, _ => {} } }} } issue_1404!(0) }