error[E0658]: attributes on expressions are experimental
  --> $DIR/repr_packed.rs:13:17
   |
LL |     let mut c = #[rustc_capture_analysis]
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable

error[E0658]: attributes on expressions are experimental
  --> $DIR/repr_packed.rs:44:17
   |
LL |     let mut c = #[rustc_capture_analysis]
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable

error[E0658]: attributes on expressions are experimental
  --> $DIR/repr_packed.rs:79:13
   |
LL |     let c = #[rustc_capture_analysis]
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable

error: First Pass analysis includes:
  --> $DIR/repr_packed.rs:16:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let z1: &u8 = &foo.x;
...  |
LL | |         println!("({}, {})", z1, z2);
LL | |     };
   | |_____^
   |
note: Capturing foo[(0, 0)] -> ImmBorrow
  --> $DIR/repr_packed.rs:19:24
   |
LL |         let z1: &u8 = &foo.x;
   |                        ^^^^^
note: Capturing foo[(1, 0)] -> MutBorrow
  --> $DIR/repr_packed.rs:22:32
   |
LL |         let z2: &mut u8 = &mut foo.y;
   |                                ^^^^^

error: Min Capture analysis includes:
  --> $DIR/repr_packed.rs:16:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let z1: &u8 = &foo.x;
...  |
LL | |         println!("({}, {})", z1, z2);
LL | |     };
   | |_____^
   |
note: Min Capture foo[(0, 0)] -> ImmBorrow
  --> $DIR/repr_packed.rs:19:24
   |
LL |         let z1: &u8 = &foo.x;
   |                        ^^^^^
note: Min Capture foo[(1, 0)] -> MutBorrow
  --> $DIR/repr_packed.rs:22:32
   |
LL |         let z2: &mut u8 = &mut foo.y;
   |                                ^^^^^

error: First Pass analysis includes:
  --> $DIR/repr_packed.rs:47:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let z1: &String = &foo.x;
...  |
LL | |         println!("({}, {})", z1, z2);
LL | |     };
   | |_____^
   |
note: Capturing foo[] -> ImmBorrow
  --> $DIR/repr_packed.rs:50:28
   |
LL |         let z1: &String = &foo.x;
   |                            ^^^^^
note: Capturing foo[] -> MutBorrow
  --> $DIR/repr_packed.rs:52:33
   |
LL |         let z2: &mut u16 = &mut foo.y;
   |                                 ^^^^^

error: Min Capture analysis includes:
  --> $DIR/repr_packed.rs:47:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let z1: &String = &foo.x;
...  |
LL | |         println!("({}, {})", z1, z2);
LL | |     };
   | |_____^
   |
note: Min Capture foo[] -> MutBorrow
  --> $DIR/repr_packed.rs:52:33
   |
LL |         let z2: &mut u16 = &mut foo.y;
   |                                 ^^^^^

error: First Pass analysis includes:
  --> $DIR/repr_packed.rs:82:5
   |
LL | /     || {
LL | |
LL | |
LL | |         println!("{}", foo.x);
...  |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing foo[] -> ImmBorrow
  --> $DIR/repr_packed.rs:85:24
   |
LL |         println!("{}", foo.x);
   |                        ^^^^^
note: Capturing foo[(0, 0)] -> ByValue
  --> $DIR/repr_packed.rs:89:18
   |
LL |         let _z = foo.x;
   |                  ^^^^^

error: Min Capture analysis includes:
  --> $DIR/repr_packed.rs:82:5
   |
LL | /     || {
LL | |
LL | |
LL | |         println!("{}", foo.x);
...  |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture foo[] -> ByValue
  --> $DIR/repr_packed.rs:85:24
   |
LL |         println!("{}", foo.x);
   |                        ^^^^^ foo[] used here
...
LL |         let _z = foo.x;
   |                  ^^^^^ foo[] captured as ByValue here

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0658`.
