#![warn(clippy::reversed_empty_ranges)] #![allow(clippy::uninlined_format_args)] fn main() { const MAX_LEN: usize = 42; for i in (0..10).rev() { println!("{}", i); } for i in (0..=10).rev() { println!("{}", i); } for i in (0..MAX_LEN).rev() { 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) { println!("{}", i); } // testing that the empty range lint folds constants for i in (5 + 4..10).rev() { println!("{}", i); } for i in ((3 - 1)..(5 + 2)).rev() { 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); } }