// edition:2021 // run-pass // Test that we can mutate an element of a tuple from within a closure // while immutably borrowing another element of the same tuple outside the closure. #![feature(rustc_attrs)] fn main() { let mut t = (10, 10); let mut c = || { let t1 = &mut t.1; *t1 = 20; }; // Test that `c` only captures t.1, therefore reading t.0 is allowed. println!("{}", t.0); c(); }