if_chain! { if let StmtKind::Local(local) = stmt.kind; if let Some(init) = local.init; if let ExprKind::Call(func, args) = init.kind; if let ExprKind::Path(ref qpath) = func.kind; if match_qpath(qpath, &["std", "mem", "transmute"]); if args.len() == 1; if let ExprKind::Path(ref qpath1) = args[0].kind; if match_qpath(qpath1, &["ZPTR"]); if let PatKind::Wild = local.pat.kind; then { // report your lint here } }