@@ -27,30 +27,24 @@ fn extract_count_with_applicability(
27
27
if let ExprKind :: Lit ( lit) = end. kind
28
28
&& let LitKind :: Int ( Pu128 ( upper_bound) , _) = lit. node
29
29
{
30
- let count = if range. limits == RangeLimits :: Closed {
31
- upper_bound - lower_bound + 1
32
- } else {
33
- upper_bound - lower_bound
34
- } ;
35
- return Some ( format ! ( "{count}" ) ) ;
36
- } else {
37
- let end_snippet = snippet_with_applicability ( cx, end. span , "..." , applicability) . into_owned ( ) ;
38
- if lower_bound == 0 {
39
- if range. limits == RangeLimits :: Closed {
40
- return Some ( format ! ( "{end_snippet} + 1" ) ) ;
41
- } else {
42
- return Some ( end_snippet) ;
43
- } ;
30
+ // Here we can explicitly calculate the number of iterations
31
+ let mut count = upper_bound - lower_bound;
32
+ if range. limits == RangeLimits :: Closed {
33
+ count += 1 ;
44
34
}
35
+ return Some ( format ! ( "{count}" ) ) ;
36
+ }
37
+ let end_snippet = snippet_with_applicability ( cx, end. span , "..." , applicability) . into_owned ( ) ;
38
+ if lower_bound == 0 {
45
39
if range. limits == RangeLimits :: Closed {
46
- if lower_bound > 0 {
47
- return Some ( format ! ( "{end_snippet} - {}" , lower_bound - 1 ) ) ;
48
- }
49
40
return Some ( format ! ( "{end_snippet} + 1" ) ) ;
50
- } else {
51
- return Some ( format ! ( "{end_snippet} - {lower_bound}" ) ) ;
52
- } ;
41
+ }
42
+ return Some ( end_snippet) ;
43
+ }
44
+ if range. limits == RangeLimits :: Closed {
45
+ return Some ( format ! ( "{end_snippet} - {}" , lower_bound - 1 ) ) ;
53
46
}
47
+ return Some ( format ! ( "{end_snippet} - {lower_bound}" ) ) ;
54
48
}
55
49
None
56
50
}
0 commit comments