1
1
use super :: { make_iterator_snippet, IncrementVisitor , InitializeVisitor , EXPLICIT_COUNTER_LOOP } ;
2
- use clippy_utils:: diagnostics:: span_lint_and_then;
2
+ use clippy_utils:: diagnostics:: { span_lint_and_sugg , span_lint_and_then} ;
3
3
use clippy_utils:: source:: snippet_with_applicability;
4
4
use clippy_utils:: { get_enclosing_block, is_integer_const} ;
5
5
use if_chain:: if_chain;
@@ -35,28 +35,24 @@ pub(super) fn check<'tcx>(
35
35
if is_integer_const( cx, initializer, 0 ) ;
36
36
then {
37
37
let mut applicability = Applicability :: MaybeIncorrect ;
38
+ let span = expr. span. with_hi( arg. span. hi( ) ) ;
38
39
39
40
let int_name = match ty. map( Ty :: kind) {
40
41
// usize or inferred
41
42
Some ( ty:: Uint ( UintTy :: Usize ) ) | None => {
42
- span_lint_and_then (
43
+ span_lint_and_sugg (
43
44
cx,
44
45
EXPLICIT_COUNTER_LOOP ,
45
- expr . span. with_hi ( arg . span . hi ( ) ) ,
46
+ span,
46
47
& format!( "the variable `{}` is used as a loop counter" , name) ,
47
- |diag| {
48
- diag. span_suggestion(
49
- expr. span. with_hi( arg. span. hi( ) ) ,
50
- "consider using" ,
51
- format!(
52
- "for ({}, {}) in {}.enumerate()" ,
53
- name,
54
- snippet_with_applicability( cx, pat. span, "item" , & mut applicability) ,
55
- make_iterator_snippet( cx, arg, & mut applicability) ,
56
- ) ,
57
- applicability,
58
- ) ;
59
- }
48
+ "consider using" ,
49
+ format!(
50
+ "for ({}, {}) in {}.enumerate()" ,
51
+ name,
52
+ snippet_with_applicability( cx, pat. span, "item" , & mut applicability) ,
53
+ make_iterator_snippet( cx, arg, & mut applicability) ,
54
+ ) ,
55
+ applicability,
60
56
) ;
61
57
return ;
62
58
}
@@ -68,11 +64,11 @@ pub(super) fn check<'tcx>(
68
64
span_lint_and_then(
69
65
cx,
70
66
EXPLICIT_COUNTER_LOOP ,
71
- expr . span. with_hi ( arg . span . hi ( ) ) ,
67
+ span,
72
68
& format!( "the variable `{}` is used as a loop counter" , name) ,
73
69
|diag| {
74
70
diag. span_suggestion(
75
- expr . span. with_hi ( arg . span . hi ( ) ) ,
71
+ span,
76
72
"consider using" ,
77
73
format!(
78
74
"for ({}, {}) in (0_{}..).zip({})" ,
0 commit comments