@@ -10,34 +10,42 @@ if let StmtKind::Let(local) = stmt.kind
1010 && paths::STD_IO_STDIO__PRINT.matches_path(cx, func) // Add the path to `clippy_utils::paths` if needed
1111 && args.len() == 1
1212 && let ExprKind::Block(block1, None) = args[0].kind
13- && block1.stmts.len() == 1
13+ && block1.stmts.len() == 2
1414 && let StmtKind::Let(local1) = block1.stmts[0].kind
1515 && let Some(init1) = local1.init
16- && let ExprKind::Array (elements) = init1.kind
16+ && let ExprKind::Tup (elements) = init1.kind
1717 && elements.len() == 1
18- && let ExprKind::Call(func1, args1) = elements[0].kind
19- && paths::CORE_FMT_RT_ARGUMENT_NEW_DISPLAY.matches_path(cx, func1) // Add the path to `clippy_utils::paths` if needed
20- && args1.len() == 1
21- && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner) = args1[0].kind
18+ && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner) = elements[0].kind
2219 && let PatKind::Binding(BindingMode::NONE, _, name, None) = local1.pat.kind
2320 && name.as_str() == "args"
21+ && let StmtKind::Let(local2) = block1.stmts[1].kind
22+ && let Some(init2) = local2.init
23+ && let ExprKind::Array(elements1) = init2.kind
24+ && elements1.len() == 1
25+ && let ExprKind::Call(func1, args1) = elements1[0].kind
26+ && paths::CORE_FMT_RT_ARGUMENT_NEW_DISPLAY.matches_path(cx, func1) // Add the path to `clippy_utils::paths` if needed
27+ && args1.len() == 1
28+ && let ExprKind::Field(object, field_name) = args1[0].kind
29+ && field_name.as_str() == "0"
30+ && let PatKind::Binding(BindingMode::NONE, _, name1, None) = local2.pat.kind
31+ && name1.as_str() == "args"
2432 && let Some(trailing_expr) = block1.expr
2533 && let ExprKind::Call(func2, args2) = trailing_expr.kind
2634 && paths::CORE_FMT_RT_NEW_V1.matches_path(cx, func2) // Add the path to `clippy_utils::paths` if needed
2735 && args2.len() == 2
2836 && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner1) = args2[0].kind
29- && let ExprKind::Array(elements1 ) = inner1.kind
30- && elements1 .len() == 2
31- && let ExprKind::Lit(ref lit) = elements1 [0].kind
37+ && let ExprKind::Array(elements2 ) = inner1.kind
38+ && elements2 .len() == 2
39+ && let ExprKind::Lit(ref lit) = elements2 [0].kind
3240 && let LitKind::Str(s, _) = lit.node
3341 && s.as_str() == ""
34- && let ExprKind::Lit(ref lit1) = elements1 [1].kind
42+ && let ExprKind::Lit(ref lit1) = elements2 [1].kind
3543 && let LitKind::Str(s1, _) = lit1.node
3644 && s1.as_str() == "\n"
3745 && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner2) = args2[1].kind
3846 && block.expr.is_none()
39- && let PatKind::Binding(BindingMode::NONE, _, name1 , None) = local.pat.kind
40- && name1 .as_str() == "print_text"
47+ && let PatKind::Binding(BindingMode::NONE, _, name2 , None) = local.pat.kind
48+ && name2 .as_str() == "print_text"
4149{
4250 // report your lint here
4351}
0 commit comments