]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/mut_range_bound.rs
Auto merge of #93397 - joshtriplett:sort-floats, r=Amanieu
[rust.git] / src / tools / clippy / tests / ui / mut_range_bound.rs
1 #![allow(unused)]
2
3 fn main() {}
4
5 fn mut_range_bound_upper() {
6     let mut m = 4;
7     for i in 0..m {
8         m = 5;
9     } // warning
10 }
11
12 fn mut_range_bound_lower() {
13     let mut m = 4;
14     for i in m..10 {
15         m *= 2;
16     } // warning
17 }
18
19 fn mut_range_bound_both() {
20     let mut m = 4;
21     let mut n = 6;
22     for i in m..n {
23         m = 5;
24         n = 7;
25     } // warning (1 for each mutated bound)
26 }
27
28 fn mut_range_bound_no_mutation() {
29     let mut m = 4;
30     for i in 0..m {
31         continue;
32     } // no warning
33 }
34
35 fn mut_borrow_range_bound() {
36     let mut m = 4;
37     for i in 0..m {
38         let n = &mut m; // warning
39         *n += 1;
40     }
41 }
42
43 fn immut_borrow_range_bound() {
44     let mut m = 4;
45     for i in 0..m {
46         let n = &m; // should be no warning?
47     }
48 }
49
50 fn immut_range_bound() {
51     let m = 4;
52     for i in 0..m {
53         continue;
54     } // no warning
55 }
56
57 fn mut_range_bound_break() {
58     let mut m = 4;
59     for i in 0..m {
60         if m == 4 {
61             m = 5; // no warning because of immediate break
62             break;
63         }
64     }
65 }
66
67 fn mut_range_bound_no_immediate_break() {
68     let mut m = 4;
69     for i in 0..m {
70         m = 2; // warning because it is not immediately followed by break
71         if m == 4 {
72             break;
73         }
74     }
75
76     let mut n = 3;
77     for i in n..10 {
78         if n == 4 {
79             n = 1; // FIXME: warning because is is not immediately followed by break
80             let _ = 2;
81             break;
82         }
83     }
84 }