]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-45157.rs
Rollup merge of #62337 - Mark-Simulacrum:fix-cpu-usage-script, r=alexcrichton
[rust.git] / src / test / ui / issues / issue-45157.rs
1 #![allow(unused)]
2 #![feature(nll)]
3
4 // ignore-tidy-linelength
5
6 #[derive(Clone, Copy, Default)]
7 struct S {
8     a: u8,
9     b: u8,
10 }
11 #[derive(Clone, Copy, Default)]
12 struct Z {
13     c: u8,
14     d: u8,
15 }
16
17 union U {
18     s: S,
19     z: Z,
20 }
21
22 fn main() {
23     unsafe {
24         let mut u = U { s: Default::default() };
25
26         let mref = &mut u.s.a;
27         *mref = 22;
28
29         let nref = &u.z.c;
30         //~^ ERROR cannot borrow `u` (via `u.z.c`) as immutable because it is also borrowed as mutable (via `u.s.a`) [E0502]
31         println!("{} {}", mref, nref)
32     }
33 }