| #![warn(clippy::reversed_empty_ranges)] | |
| #![allow(clippy::uninlined_format_args)] | |
| fn main() { | |
| const MAX_LEN: usize = 42; | |
| for i in (0..10).rev() { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| for i in (0..=10).rev() { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| for i in (0..MAX_LEN).rev() { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| for i in 5..=5 { | |
| // not an error, this is the range with only one element “5” | |
| println!("{}", i); | |
| } | |
| for i in 0..10 { | |
| // not an error, the start index is less than the end index | |
| println!("{}", i); | |
| } | |
| for i in -10..0 { | |
| // not an error | |
| println!("{}", i); | |
| } | |
| for i in ((0..10).rev()).map(|x| x * 2) { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| // testing that the empty range lint folds constants | |
| for i in (5 + 4..10).rev() { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| for i in ((3 - 1)..(5 + 2)).rev() { | |
| //~^ reversed_empty_ranges | |
| println!("{}", i); | |
| } | |
| for i in (2 * 2)..(2 * 3) { | |
| // no error, 4..6 is fine | |
| println!("{}", i); | |
| } | |
| let x = 42; | |
| for i in x..10 { | |
| // no error, not constant-foldable | |
| println!("{}", i); | |
| } | |
| } |