]> git.lizzy.rs Git - rust.git/blob - tests/ui/closures/2229_closure_analysis/deep-multilevel-tuple.rs
Auto merge of #107843 - bjorn3:sync_cg_clif-2023-02-09, r=bjorn3
[rust.git] / tests / ui / closures / 2229_closure_analysis / deep-multilevel-tuple.rs
1 // edition:2021
2 #![feature(rustc_attrs)]
3 #![allow(unused)]
4
5 fn main() {
6     let mut t = (((1,2),(3,4)),((5,6),(7,8)));
7
8     let c = #[rustc_capture_analysis]
9     //~^ ERROR: attributes on expressions are experimental
10     //~| NOTE: see issue #15701 <https://github.com/rust-lang/rust/issues/15701>
11     || {
12     //~^ ERROR: First Pass analysis includes:
13     //~| ERROR: Min Capture analysis includes:
14         let x = &t.0.0.0;
15         //~^ NOTE: Capturing t[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
16         t.1.1.1 = 9;
17         //~^ NOTE: Capturing t[(1, 0),(1, 0),(1, 0)] -> MutBorrow
18         //~| NOTE: t[] captured as MutBorrow here
19         println!("{:?}", t);
20         //~^ NOTE: Min Capture t[] -> MutBorrow
21         //~| NOTE: Capturing t[] -> ImmBorrow
22         //~| NOTE: t[] used here
23     };
24 }