if_chain! { if let ExprKind::Block(ref block) = expr.node; if let Some(trailing_expr) = &block.expr; if block.stmts.len() == 1; if let StmtKind::Semi(ref e, _) = block.stmts[0].node if let ExprKind::Tup(ref elements) = e.node; if elements.len() == 0; then { // report your lint here } } if_chain! { then { // report your lint here } }