rmorgans opened a new pull request, #586: URL: https://github.com/apache/arrow-go/pull/586
## Summary - Extracts common logic for LIST, MAP, and FIXED_SIZE_LIST into a shared `visitListLike` helper function - Ensures `nullableInParent` is always set correctly before visiting child values, making it impossible to forget this step when adding new list-like type handling - Uses `defLevelOffset` parameter to calculate `defLevelIfEmpty` after all increments ## Rationale This refactoring follows the principle of "making invalid states unrepresentable". The original bug in #584 (fixed in #585) was caused by the FIXED_SIZE_LIST case forgetting to set `nullableInParent`. By extracting the common pattern into a helper function, future additions of list-like types cannot omit this critical step. ## Test plan - [x] All existing tests pass - [x] Regression test from #585 (`TestFixedSizeListNullableElements`) continues to pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
