@@ -31,17 +31,38 @@ if let StmtKind::Let(local) = stmt.kind
3131 && name1.as_str() == "args"
3232 && let Some(trailing_expr) = block1.expr
3333 && let ExprKind::Call(func2, args2) = trailing_expr.kind
34- && paths::CORE_FMT_RT_NEW_V1 .matches_path(cx, func2) // Add the path to `clippy_utils::paths` if needed
34+ && paths::CORE_FMT_RT_NEW .matches_path(cx, func2) // Add the path to `clippy_utils::paths` if needed
3535 && args2.len() == 2
36- && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner1) = args2[0].kind
36+ && let ExprKind::Block(block2, None) = args2[0].kind
37+ && block2.stmts.is_empty()
38+ && let Some(trailing_expr1) = block2.expr
39+ && let ExprKind::Call(func3, args3) = trailing_expr1.kind
40+ && func3.res(cx).is_diag_item(cx, sym::FmtTemplateNew)
41+ && args3.len() == 1
42+ && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner1) = args3[0].kind
3743 && let ExprKind::Array(elements2) = inner1.kind
38- && elements2.len() == 2
39- && let ExprKind::Lit(ref lit) = elements2[0].kind
40- && let LitKind::Str(s, _) = lit.node
41- && s.as_str() == ""
42- && let ExprKind::Lit(ref lit1) = elements2[1].kind
43- && let LitKind::Str(s1, _) = lit1.node
44- && s1.as_str() == "\n"
44+ && elements2.len() == 4
45+ && let ExprKind::Call(func4, args4) = elements2[0].kind
46+ && paths::CORE_FMT_RT_PIECE_NUM.matches_path(cx, func4) // Add the path to `clippy_utils::paths` if needed
47+ && args4.len() == 1
48+ && let ExprKind::Lit(ref lit) = args4[0].kind
49+ && let LitKind::Int(16140901201934811136, LitIntType::Unsigned(UintTy::Usize)) = lit.node
50+ && let ExprKind::Call(func5, args5) = elements2[1].kind
51+ && paths::CORE_FMT_RT_PIECE_NUM.matches_path(cx, func5) // Add the path to `clippy_utils::paths` if needed
52+ && args5.len() == 1
53+ && let ExprKind::Lit(ref lit1) = args5[0].kind
54+ && let LitKind::Int(1, LitIntType::Unsigned(UintTy::Usize)) = lit1.node
55+ && let ExprKind::Call(func6, args6) = elements2[2].kind
56+ && paths::CORE_FMT_RT_PIECE_STR.matches_path(cx, func6) // Add the path to `clippy_utils::paths` if needed
57+ && args6.len() == 1
58+ && let ExprKind::Lit(ref lit2) = args6[0].kind
59+ && let LitKind::Str(s, _) = lit2.node
60+ && s.as_str() == "\n"
61+ && let ExprKind::Call(func7, args7) = elements2[3].kind
62+ && paths::CORE_FMT_RT_PIECE_NUM.matches_path(cx, func7) // Add the path to `clippy_utils::paths` if needed
63+ && args7.len() == 1
64+ && let ExprKind::Lit(ref lit3) = args7[0].kind
65+ && let LitKind::Int(0, LitIntType::Unsigned(UintTy::Usize)) = lit3.node
4566 && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner2) = args2[1].kind
4667 && block.expr.is_none()
4768 && let PatKind::Binding(BindingMode::NONE, _, name2, None) = local.pat.kind
0 commit comments