// Test that assignments to an `&mut` pointer which is found in a | |
// borrowed (but otherwise non-aliasable) location is illegal. | |
struct S<'a> { | |
pointer: &'a mut isize | |
} | |
fn a(s: &S) { | |
*s.pointer += 1; //~ ERROR cannot assign | |
} | |
fn b(s: &mut S) { | |
*s.pointer += 1; | |
} | |
fn c(s: & &mut S) { | |
*s.pointer += 1; //~ ERROR cannot assign | |
} | |
fn main() {} |