]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
0bf4aa26 XL |
2 | #![allow(dead_code)] |
3 | #![allow(unused_mut)] | |
4 | #![allow(unused_variables)] | |
1a4d82fc JJ |
5 | // Test that freezing an `&mut` pointer while referent is |
6 | // frozen is legal. | |
7 | // | |
1b1a35ee | 8 | // Example from compiler/rustc_borrowck/borrowck/README.md |
1a4d82fc | 9 | |
c34b1796 AL |
10 | // pretty-expanded FIXME #23616 |
11 | ||
12 | fn foo<'a>(mut t0: &'a mut isize, | |
13 | mut t1: &'a mut isize) { | |
14 | let p: &isize = &*t0; // Freezes `*t0` | |
1a4d82fc | 15 | let mut t2 = &t0; |
c34b1796 AL |
16 | let q: &isize = &**t2; // Freezes `*t0`, but that's ok... |
17 | let r: &isize = &*t0; // ...after all, could do same thing directly. | |
1a4d82fc | 18 | } |
223e47cc LB |
19 | |
20 | pub fn main() { | |
223e47cc | 21 | } |