]> git.proxmox.com Git - rustc.git/blob - src/test/ui/closures/2229_closure_analysis/issue-87378.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / closures / 2229_closure_analysis / issue-87378.rs
1 #![feature(rustc_attrs)]
2
3 // edition:2021
4
5 // Test that any precise capture on a union is truncated because it's unsafe to do so.
6
7 union Union {
8 value: u64,
9 }
10
11 fn main() {
12 let u = Union { value: 42 };
13
14 let c = #[rustc_capture_analysis]
15 //~^ ERROR: attributes on expressions are experimental
16 //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
17 || {
18 //~^ ERROR: First Pass analysis includes:
19 //~| ERROR: Min Capture analysis includes:
20 unsafe { u.value }
21 //~^ NOTE: Capturing u[(0, 0)] -> ImmBorrow
22 //~| NOTE: Min Capture u[] -> ImmBorrow
23 };
24
25 c();
26 }