17 lines
446 B
Rust
17 lines
446 B
Rust
// Issue #8624. Tests that reborrowing the contents of an `&'b mut`
|
|
// pointer which is backed by another `&'a mut` can only be done
|
|
// for `'a` (which must be a sublifetime of `'b`).
|
|
|
|
fn copy_borrowed_ptr<'a, 'b>(p: &'a mut &'b mut isize) -> &'b mut isize {
|
|
&mut **p
|
|
//~^ ERROR lifetime may not live long enough
|
|
}
|
|
|
|
fn main() {
|
|
let mut x = 1;
|
|
let mut y = &mut x;
|
|
let z = copy_borrowed_ptr(&mut y);
|
|
*y += 1;
|
|
*z += 1;
|
|
}
|