rust/tests/ui/borrowck/borrowck-assign-to-andmut-in-aliasable-loc.rs
2023-01-11 09:32:08 +00:00

21 lines
360 B
Rust

// 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() {}