Skip to content

Commit 8107d51

Browse files
committed
Extract suggestions to seperate function
1 parent 68ac285 commit 8107d51

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

clippy_lints/src/manual_ilog2.rs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,7 @@ impl LateLintPass<'_> for ManualIlog2 {
7070
return;
7171
};
7272
if val == u128::from(bit_width) - 1 {
73-
let sugg = snippet_with_applicability(cx, reciever.span, "..", &mut applicability);
74-
span_lint_and_sugg(
75-
cx,
76-
MANUAL_ILOG2,
77-
expr.span,
78-
"manually reimplementing `ilog2`",
79-
"consider using .ilog2()",
80-
format!("{sugg}.ilog2()"),
81-
applicability,
82-
);
73+
suggest_change(cx, reciever, expr, &mut applicability);
8374
}
8475
}
8576

@@ -90,17 +81,22 @@ impl LateLintPass<'_> for ManualIlog2 {
9081
&& let LitKind::Int(Pu128(2), _) = lit.node
9182
&& cx.typeck_results().expr_ty(reciever).is_integral()
9283
{
93-
span_lint_and_sugg(
94-
cx,
95-
MANUAL_ILOG2,
96-
expr.span,
97-
"manually reimplementing `ilog2`",
98-
"consider using .ilog2()",
99-
format!("{}.ilog2()", snippet_with_applicability(cx, reciever.span, "..", &mut applicability)),
100-
applicability,
101-
);
84+
suggest_change(cx, reciever, expr, &mut applicability);
10285
}
10386
}
10487

10588
extract_msrv_attr!(LateContext);
10689
}
90+
91+
fn suggest_change(cx: &LateContext<'_>, reciever: &Expr<'_>, full_expr: &Expr<'_>, applicability: &mut Applicability) {
92+
let sugg = snippet_with_applicability(cx, reciever.span, "..", applicability);
93+
span_lint_and_sugg(
94+
cx,
95+
MANUAL_ILOG2,
96+
full_expr.span,
97+
"manually reimplementing `ilog2`",
98+
"consider using .ilog2()",
99+
format!("{sugg}.ilog2()"),
100+
*applicability,
101+
);
102+
}

0 commit comments

Comments
 (0)