]> git.proxmox.com Git - rustc.git/blame - src/test/ui/borrowck/issue-81365-3.rs
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / src / test / ui / borrowck / issue-81365-3.rs
CommitLineData
6a06907d
XL
1use std::ops::Deref;
2
3struct DerefTarget {
4 target_field: bool,
5}
6struct Container {
7 target: DerefTarget,
8 container_field: bool,
9}
10
11impl Deref for Container {
12 type Target = DerefTarget;
13 fn deref(&self) -> &Self::Target {
14 &self.target
15 }
16}
17
18struct Outer {
19 container: Container,
20}
21
22impl Deref for Outer {
23 type Target = Container;
24 fn deref(&self) -> &Self::Target {
25 &self.container
26 }
27}
28
29impl 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
37fn main() {}