]> git.proxmox.com Git - rustc.git/blob - src/test/ui/borrowck/issue-81365-3.rs
New upstream version 1.52.0~beta.3+dfsg1
[rustc.git] / src / test / ui / borrowck / issue-81365-3.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 }
21
22 impl Deref for Outer {
23 type Target = Container;
24 fn deref(&self) -> &Self::Target {
25 &self.container
26 }
27 }
28
29 impl Outer {
30 fn bad_borrow(&mut self) {
31 let first = &self.target_field;
32 self.container.container_field = true; //~ ERROR E0506
33 first;
34 }
35 }
36
37 fn main() {}