1 // Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution.
4 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
5 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
6 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7 // option. This file may not be copied, modified, or distributed
8 // except according to those terms.
17 mut_range_bound_upper();
18 mut_range_bound_lower();
19 mut_range_bound_both();
20 mut_range_bound_no_mutation();
22 mut_borrow_range_bound();
23 immut_borrow_range_bound();
26 fn mut_range_bound_upper() {
28 for i in 0..m { m = 5; } // warning
31 fn mut_range_bound_lower() {
33 for i in m..10 { m *= 2; } // warning
36 fn mut_range_bound_both() {
39 for i in m..n { m = 5; n = 7; } // warning (1 for each mutated bound)
42 fn mut_range_bound_no_mutation() {
44 for i in 0..m { continue; } // no warning
47 fn mut_borrow_range_bound() {
50 let n = &mut m; // warning
55 fn immut_borrow_range_bound() {
58 let n = &m; // should be no warning?
63 fn immut_range_bound() {
65 for i in 0..m { continue; } // no warning