diff options
Diffstat (limited to 'tests/ui/hygiene/fields-numeric-borrowck.rs')
-rw-r--r-- | tests/ui/hygiene/fields-numeric-borrowck.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ui/hygiene/fields-numeric-borrowck.rs b/tests/ui/hygiene/fields-numeric-borrowck.rs new file mode 100644 index 000000000..9536babc2 --- /dev/null +++ b/tests/ui/hygiene/fields-numeric-borrowck.rs @@ -0,0 +1,13 @@ +struct S(u8); + +fn main() { + let mut s = S(0); + let borrow1 = &mut s.0; + let S { 0: ref mut borrow2 } = s; + //~^ ERROR cannot borrow `s.0` as mutable more than once at a time + borrow2.use_mut(); + borrow1.use_mut(); +} + +trait Fake { fn use_mut(&mut self) { } fn use_ref(&self) { } } +impl<T> Fake for T { } |