]> git.proxmox.com Git - rustc.git/blob - tests/ui/borrowck/issue-81365-4.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / borrowck / issue-81365-4.rs
1 use std::ops::Deref;
2
3 struct DerefTarget {
4 target_field: bool,
5 }
6 struct Container {
7 target: DerefTarget,
8 container_field: bool,
9 }
10
11 impl Deref for Container {
12 type Target = DerefTarget;
13 fn deref(&self) -> &Self::Target {
14 &self.target
15 }
16 }
17
18 struct Outer {
19 container: Container,
20 outer_field: bool,
21 }
22
23 impl Deref for Outer {
24 type Target = Container;
25 fn deref(&self) -> &Self::Target {
26 &self.container
27 }
28 }
29
30 impl Outer {
31 fn bad_borrow(&mut self) {
32 let first = &self.target_field;
33 self.outer_field = true; //~ ERROR E0506
34 first;
35 }
36 }
37
38 fn main() {}