]> git.proxmox.com Git - rustc.git/blame - src/test/ui/borrowck/borrowck-borrow-of-mut-base-ptr-safe.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / ui / borrowck / borrowck-borrow-of-mut-base-ptr-safe.rs
CommitLineData
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
12fn 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
20pub fn main() {
223e47cc 21}