// edition:2021 // Ensure that diagnostics for mutability error (because the root variable // isn't mutable) work with `capture_disjoint_fields` enabled. fn mut_error_struct() { let x = (10, 10); let y = (x, 10); let z = (y, 10); let mut c = || { z.0.0.0 = 20; //~^ ERROR: cannot assign to `z.0.0.0`, as it is not declared as mutable }; c(); } fn mut_error_box() { let x = (10, 10); let bx = Box::new(x); let mut c = || { bx.0 = 20; //~^ ERROR: cannot assign to `*bx.0`, as it is not declared as mutable }; c(); } fn main() { mut_error_struct(); mut_error_box(); }