if_chain! { if let Stmt_::StmtDecl(ref decl, _) = stmt.node if let Decl_::DeclLocal(ref local) = decl.node; if let Some(ref init) = local.init if let ExprKind::Call(ref func, ref args) = init.node; if let ExprKind::Path(ref path) = func.node; if match_qpath(path, &["{{root}}", "std", "cmp", "min"]); if args.len() == 2; if let ExprKind::Lit(ref lit) = args[0].node; if let LitKind::Int(3, _) = lit.node; if let ExprKind::Lit(ref lit1) = args[1].node; if let LitKind::Int(4, _) = lit1.node; if let PatKind::Wild = local.pat.node; then { // report your lint here } }