]> git.lizzy.rs Git - rust.git/blob - src/test/ui/borrowck/issue-81365-2.rs
Sync portable-simd to rust-lang/portable-simd@72df4c45056a8bc0d1b3f06fdc828722177f0763
[rust.git] / src / test / ui / borrowck / issue-81365-2.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 Outer {
23     fn bad_borrow(&mut self) {
24         let first = &self.container.target_field;
25         self.container.container_field = true; //~ ERROR E0506
26         first;
27     }
28 }
29
30 fn main() {}