error[E0658]: attributes on expressions are experimental --> $DIR/deep-multilevel-struct.rs:36:13 | LL | let c = #[rustc_capture_analysis] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #15701 for more information = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/deep-multilevel-struct.rs:1:12 | LL | #![feature(capture_disjoint_fields)] | ^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(incomplete_features)]` on by default = note: see issue #53488 for more information error: First Pass analysis includes: --> $DIR/deep-multilevel-struct.rs:39:5 | LL | / || { LL | | LL | | LL | | let x = &p.a.p.x; ... | LL | | LL | | }; | |_____^ | note: Capturing p[(0, 0),(0, 0),(0, 0)] -> ImmBorrow --> $DIR/deep-multilevel-struct.rs:42:18 | LL | let x = &p.a.p.x; | ^^^^^^^ note: Capturing p[(1, 0),(1, 0),(1, 0)] -> MutBorrow --> $DIR/deep-multilevel-struct.rs:44:9 | LL | p.b.q.y = 9; | ^^^^^^^ note: Capturing p[] -> ImmBorrow --> $DIR/deep-multilevel-struct.rs:47:26 | LL | println!("{:?}", p); | ^ error: Min Capture analysis includes: --> $DIR/deep-multilevel-struct.rs:39:5 | LL | / || { LL | | LL | | LL | | let x = &p.a.p.x; ... | LL | | LL | | }; | |_____^ | note: Min Capture p[] -> MutBorrow --> $DIR/deep-multilevel-struct.rs:44:9 | LL | p.b.q.y = 9; | ^^^^^^^ p[] captured as MutBorrow here ... LL | println!("{:?}", p); | ^ p[] used here error: aborting due to 3 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0658`.