@@ -12,27 +12,53 @@ if let StmtKind::Let(local) = stmt.kind
1212 && args.len() == 1
1313 && let ExprKind::Call(func1, args1) = args[0].kind
1414 && let ExprKind::Path(ref qpath1) = func1.kind
15- && match_qpath(qpath1, &["format_arguments", "new_v1 "])
15+ && match_qpath(qpath1, &["format_arguments", "new "])
1616 && args1.len() == 2
17- && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner) = args1[0].kind
17+ && let ExprKind::Block(block1, None) = args1[0].kind
18+ && block1.stmts.is_empty()
19+ && let Some(trailing_expr) = block1.expr
20+ && let ExprKind::Call(func2, args2) = trailing_expr.kind
21+ && let ExprKind::Path(ref qpath2) = func2.kind
22+ && match_qpath(qpath2, &["format_template", "new"])
23+ && args2.len() == 1
24+ && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner) = args2[0].kind
1825 && let ExprKind::Array(elements) = inner.kind
19- && elements.len() == 2
20- && let ExprKind::Lit(ref lit) = elements[0].kind
21- && let LitKind::Str(s, _) = lit.node
22- && s.as_str() == ""
23- && let ExprKind::Lit(ref lit1) = elements[1].kind
24- && let LitKind::Str(s1, _) = lit1.node
25- && s1.as_str() == "\n"
26+ && elements.len() == 4
27+ && let ExprKind::Call(func3, args3) = elements[0].kind
28+ && let ExprKind::Path(ref qpath3) = func3.kind
29+ && match_qpath(qpath3, &["format_piece", "num"])
30+ && args3.len() == 1
31+ && let ExprKind::Lit(ref lit) = args3[0].kind
32+ && let LitKind::Int(16140901201934811136, LitIntType::Unsigned(UintTy::Usize)) = lit.node
33+ && let ExprKind::Call(func4, args4) = elements[1].kind
34+ && let ExprKind::Path(ref qpath4) = func4.kind
35+ && match_qpath(qpath4, &["format_piece", "num"])
36+ && args4.len() == 1
37+ && let ExprKind::Lit(ref lit1) = args4[0].kind
38+ && let LitKind::Int(1, LitIntType::Unsigned(UintTy::Usize)) = lit1.node
39+ && let ExprKind::Call(func5, args5) = elements[2].kind
40+ && let ExprKind::Path(ref qpath5) = func5.kind
41+ && match_qpath(qpath5, &["format_piece", "str"])
42+ && args5.len() == 1
43+ && let ExprKind::Lit(ref lit2) = args5[0].kind
44+ && let LitKind::Str(s, _) = lit2.node
45+ && s.as_str() == "\n"
46+ && let ExprKind::Call(func6, args6) = elements[3].kind
47+ && let ExprKind::Path(ref qpath6) = func6.kind
48+ && match_qpath(qpath6, &["format_piece", "num"])
49+ && args6.len() == 1
50+ && let ExprKind::Lit(ref lit3) = args6[0].kind
51+ && let LitKind::Int(0, LitIntType::Unsigned(UintTy::Usize)) = lit3.node
2652 && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner1) = args1[1].kind
2753 && let ExprKind::Array(elements1) = inner1.kind
2854 && elements1.len() == 1
29- && let ExprKind::Call(func2, args2 ) = elements1[0].kind
30- && let ExprKind::Path(ref qpath2 ) = func2 .kind
31- && match_qpath(qpath2 , &["format_argument", "new_display"])
32- && args2 .len() == 1
33- && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner2) = args2 [0].kind
34- && let ExprKind::Path(ref qpath3 ) = inner2.kind
35- && match_qpath(qpath3 , &["x"])
55+ && let ExprKind::Call(func7, args7 ) = elements1[0].kind
56+ && let ExprKind::Path(ref qpath7 ) = func7 .kind
57+ && match_qpath(qpath7 , &["format_argument", "new_display"])
58+ && args7 .len() == 1
59+ && let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, inner2) = args7 [0].kind
60+ && let ExprKind::Path(ref qpath8 ) = inner2.kind
61+ && match_qpath(qpath8 , &["x"])
3662 && block.expr.is_none()
3763 && let PatKind::Binding(BindingMode::NONE, _, name, None) = local.pat.kind
3864 && name.as_str() == "print_text"
0 commit comments