error[E0506]: cannot assign to `greeting` because it is borrowed --> $DIR/issue-58776-borrowck-scans-children.rs:5:5 | LL | let res = (|| (|| &greeting)())(); | -- -------- borrow occurs due to use in closure | | | `greeting` is borrowed here LL | LL | greeting = "DEALLOCATED".to_string(); | ^^^^^^^^ `greeting` is assigned to here but it was already borrowed ... LL | println!("thread result: {:?}", res); | --- borrow later used here error: aborting due to previous error For more information about this error, try `rustc --explain E0506`.