]> git.lizzy.rs Git - rust.git/blob - tests/ui/closures/2229_closure_analysis/arrays-completely-captured.rs
Move /src/test to /tests
[rust.git] / tests / ui / closures / 2229_closure_analysis / arrays-completely-captured.rs
1 // edition:2021
2 #![feature(rustc_attrs)]
3
4 // Ensure that capture analysis results in arrays being completely captured.
5 fn main() {
6     let mut m = [1, 2, 3, 4, 5];
7
8     let mut 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         m[0] += 10;
15         //~^ NOTE: Capturing m[] -> MutBorrow
16         //~| NOTE: Min Capture m[] -> MutBorrow
17         m[1] += 40;
18         //~^ NOTE: Capturing m[] -> MutBorrow
19     };
20
21     c();
22 }