error[E0658]: attributes on expressions are experimental
  --> $DIR/move_closure.rs:12: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/move_closure.rs:30: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/move_closure.rs:51: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/move_closure.rs:74: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/move_closure.rs:96: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/move_closure.rs:117: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[E0658]: attributes on expressions are experimental
  --> $DIR/move_closure.rs:133: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[E0658]: attributes on expressions are experimental
  --> $DIR/move_closure.rs:150: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[E0658]: attributes on expressions are experimental
  --> $DIR/move_closure.rs:172:13
   |
LL |     let c = #[rustc_capture_analysis] move || box_p_foo.x += 10;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = 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/move_closure.rs:189:13
   |
LL |     let c = #[rustc_capture_analysis] move || p_foo.x += 10;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = 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/move_closure.rs:202:13
   |
LL |     let c = #[rustc_capture_analysis] move || x;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = 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/move_closure.rs:202:39
   |
LL |     let c = #[rustc_capture_analysis] move || x;
   |                                       ^^^^^^^^^
   |
note: Capturing x[] -> ImmBorrow
  --> $DIR/move_closure.rs:202:47
   |
LL |     let c = #[rustc_capture_analysis] move || x;
   |                                               ^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:202:39
   |
LL |     let c = #[rustc_capture_analysis] move || x;
   |                                       ^^^^^^^^^
   |
note: Min Capture x[] -> ByValue
  --> $DIR/move_closure.rs:202:47
   |
LL |     let c = #[rustc_capture_analysis] move || x;
   |                                               ^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:15:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         t.0.0 = "new S".into();
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing t[(0, 0),(0, 0)] -> MutBorrow
  --> $DIR/move_closure.rs:18:9
   |
LL |         t.0.0 = "new S".into();
   |         ^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:15:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         t.0.0 = "new S".into();
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture t[(0, 0),(0, 0)] -> ByValue
  --> $DIR/move_closure.rs:18:9
   |
LL |         t.0.0 = "new S".into();
   |         ^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:33:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         *ref_s += 10;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing ref_s[Deref] -> MutBorrow
  --> $DIR/move_closure.rs:36:9
   |
LL |         *ref_s += 10;
   |         ^^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:33:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         *ref_s += 10;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture ref_s[] -> ByValue
  --> $DIR/move_closure.rs:36:9
   |
LL |         *ref_s += 10;
   |         ^^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:54:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         t.0.0 = "new s".into();
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing t[(0, 0),Deref,(0, 0)] -> MutBorrow
  --> $DIR/move_closure.rs:57:9
   |
LL |         t.0.0 = "new s".into();
   |         ^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:54:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         t.0.0 = "new s".into();
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture t[(0, 0)] -> ByValue
  --> $DIR/move_closure.rs:57:9
   |
LL |         t.0.0 = "new s".into();
   |         ^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:77:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = t.0.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing t[(0, 0),Deref,(0, 0)] -> ImmBorrow
  --> $DIR/move_closure.rs:80:18
   |
LL |         let _t = t.0.0;
   |                  ^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:77:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = t.0.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture t[(0, 0)] -> ByValue
  --> $DIR/move_closure.rs:80:18
   |
LL |         let _t = t.0.0;
   |                  ^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:99:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = t.0.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing t[(0, 0),Deref,(0, 0)] -> ByValue
  --> $DIR/move_closure.rs:102:18
   |
LL |         let _t = t.0.0;
   |                  ^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:99:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = t.0.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture t[(0, 0)] -> ByValue
  --> $DIR/move_closure.rs:102:18
   |
LL |         let _t = t.0.0;
   |                  ^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:120:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = b.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing b[Deref,(0, 0)] -> ImmBorrow
  --> $DIR/move_closure.rs:123:18
   |
LL |         let _t = b.0;
   |                  ^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:120:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         let _t = b.0;
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture b[] -> ByValue
  --> $DIR/move_closure.rs:123:18
   |
LL |         let _t = b.0;
   |                  ^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:136:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         println!("{}", b.0);
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing b[Deref,(0, 0)] -> ImmBorrow
  --> $DIR/move_closure.rs:139:24
   |
LL |         println!("{}", b.0);
   |                        ^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:136:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         println!("{}", b.0);
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture b[] -> ByValue
  --> $DIR/move_closure.rs:139:24
   |
LL |         println!("{}", b.0);
   |                        ^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:153:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         println!("{}", t.1.0);
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing t[(1, 0),Deref,(0, 0)] -> ImmBorrow
  --> $DIR/move_closure.rs:156:24
   |
LL |         println!("{}", t.1.0);
   |                        ^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:153:5
   |
LL | /     move || {
LL | |
LL | |
LL | |         println!("{}", t.1.0);
LL | |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture t[(1, 0)] -> ByValue
  --> $DIR/move_closure.rs:156:24
   |
LL |         println!("{}", t.1.0);
   |                        ^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:172:39
   |
LL |     let c = #[rustc_capture_analysis] move || box_p_foo.x += 10;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: Capturing box_p_foo[Deref,Deref,(0, 0)] -> MutBorrow
  --> $DIR/move_closure.rs:172:47
   |
LL |     let c = #[rustc_capture_analysis] move || box_p_foo.x += 10;
   |                                               ^^^^^^^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:172:39
   |
LL |     let c = #[rustc_capture_analysis] move || box_p_foo.x += 10;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: Min Capture box_p_foo[] -> ByValue
  --> $DIR/move_closure.rs:172:47
   |
LL |     let c = #[rustc_capture_analysis] move || box_p_foo.x += 10;
   |                                               ^^^^^^^^^^^

error: First Pass analysis includes:
  --> $DIR/move_closure.rs:189:39
   |
LL |     let c = #[rustc_capture_analysis] move || p_foo.x += 10;
   |                                       ^^^^^^^^^^^^^^^^^^^^^
   |
note: Capturing p_foo[Deref,Deref,(0, 0)] -> MutBorrow
  --> $DIR/move_closure.rs:189:47
   |
LL |     let c = #[rustc_capture_analysis] move || p_foo.x += 10;
   |                                               ^^^^^^^

error: Min Capture analysis includes:
  --> $DIR/move_closure.rs:189:39
   |
LL |     let c = #[rustc_capture_analysis] move || p_foo.x += 10;
   |                                       ^^^^^^^^^^^^^^^^^^^^^
   |
note: Min Capture p_foo[] -> ByValue
  --> $DIR/move_closure.rs:189:47
   |
LL |     let c = #[rustc_capture_analysis] move || p_foo.x += 10;
   |                                               ^^^^^^^

error: aborting due to 33 previous errors

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