mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-30 13:06:28 +03:00
3488082582
When `capture_disjoint_fields` is not enabled, checking if the root variable binding is mutable would suffice. However with the feature enabled, the captured place might be mutable because it dereferences a mutable reference. This PR computes the mutability of each capture after capture analysis in rustc_typeck. We store this in `ty::CapturedPlace` and then use `ty::CapturedPlace::mutability` in mir_build and borrow_check.
For more information about how rustc works, see the rustc dev guide.