Latest Results
Handle any list builder kind in append_to_builder
`builder_with_capacity` produces a `ListViewBuilder` for `DType::List`, but
`List::append_to_builder` downcast the builder to `ListBuilder<u64>` and bailed
otherwise — so executing a `List`-encoded array into the canonical builder (the
one `builder_with_capacity` returns) failed. `ListView::append_to_builder` had
the mirror-image assumption, only accepting a `ListViewBuilder<u64, u64>`.
Add two macros that enumerate the possible list builder offset/size integer types
and try downcasting to each, rather than assuming the types produced by
`builder_with_capacity`:
- `match_each_list_builder!` enumerates `ListBuilder<O>`.
- `match_each_listview_builder!` enumerates `ListViewBuilder<O, S>`.
`List::append_to_builder` tries `ListBuilder` (its non-canonical, directly-supplied
builder) and otherwise canonicalizes and dispatches, routing the canonical
`ListViewBuilder` case through `ListView::append_to_builder`, which tries
`ListViewBuilder`. Either encoding works with any unsigned offset/size types.
Other encodings that yield list dtypes (constant, dict, chunked, ...) already
route here through the canonical-dispatch fallback.
Signed-off-by: Robert <robert@spiraldb.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mkrgj5SuJpaKBXK9jydtScclaude/nice-hypatia-g68zgt Latest Branches
-4%
claude/nice-hypatia-g68zgt +2%
claude/stoic-brown-5pzm5s +11%
claude/wasm-time-panic-c9b6s6 © 2026 CodSpeed Technology