]>
Commit | Line | Data |
---|---|---|
8bb4bdeb XL |
1 | fn save_ref<'a>(refr: &'a i32, to: &mut [&'a i32]) { |
2 | for val in &mut *to { | |
3 | *val = refr; | |
4 | } | |
5 | } | |
6 | ||
7 | fn main() { | |
8 | let ref init = 0i32; | |
9 | let ref mut refr = 1i32; | |
10 | ||
11 | let mut out = [init]; | |
12 | ||
13 | save_ref(&*refr, &mut out); | |
14 | ||
15 | // This shouldn't be allowed as `refr` is borrowed | |
16 | *refr = 3; //~ ERROR cannot assign to `*refr` because it is borrowed | |
17 | ||
18 | // Prints 3?! | |
19 | println!("{:?}", out[0]); | |
20 | } |