]> git.lizzy.rs Git - rust.git/blob - tests/ui/mut_range_bound.rs
Merge pull request #2984 from flip1995/single_char_pattern
[rust.git] / tests / ui / mut_range_bound.rs
1
2
3
4 #![allow(unused)]
5
6 fn main() {
7     mut_range_bound_upper();
8     mut_range_bound_lower();
9     mut_range_bound_both();
10     mut_range_bound_no_mutation();
11     immut_range_bound();
12     mut_borrow_range_bound();
13     immut_borrow_range_bound();
14 }
15
16 fn mut_range_bound_upper() {
17     let mut m = 4;
18     for i in 0..m { m = 5; } // warning
19 }
20
21 fn mut_range_bound_lower() {
22     let mut m = 4;
23     for i in m..10 { m *= 2; } // warning
24 }
25
26 fn mut_range_bound_both() {
27     let mut m = 4;
28     let mut n = 6;
29     for i in m..n { m = 5; n = 7; } // warning (1 for each mutated bound)
30 }
31
32 fn mut_range_bound_no_mutation() {
33     let mut m = 4;
34     for i in 0..m { continue; } // no warning
35 }
36
37 fn mut_borrow_range_bound() {
38     let mut m = 4;
39     for i in 0..m {
40         let n = &mut m;  // warning
41         *n += 1;
42     }
43 }
44
45 fn immut_borrow_range_bound() {
46     let mut m = 4;
47     for i in 0..m {
48         let n = &m;   // should be no warning?
49     }
50 }
51
52
53 fn immut_range_bound() {
54     let m = 4;
55     for i in 0..m { continue; } // no warning
56 }