scovich opened a new pull request, #7704: URL: https://github.com/apache/arrow-rs/pull/7704
# Which issue does this PR close? Closes https://github.com/apache/arrow-rs/issues/7684 Closes https://github.com/apache/arrow-rs/issues/7685 Part of https://github.com/apache/arrow-rs/issues/6736 https://github.com/apache/arrow-rs/issues/6736 # Rationale for this change Infallible iteration is _much_ easier to work with, vs. Iterator of Result or Result of Iterator. Iteration and validation are strongly correlated, because the iterator can only be infallible if the constructor previously validated everything the iterator depends on. # What changes are included in this PR? In all three of `VariantMetadata,` `VariantList,` and `VariantObject`: * The header object is cleaned up to _only_ consider actual header state. Other state is moved to the object itself. * Constructors fully validate the object by consuming a fallible iterator * The externally visible iterator does a `map(Result::unwrap)` on the same fallible iterator, relying on the constructor to prove the unwrap is safe. In addition: * `VariantObject` methods no longer materialize the whole offset+field array * `first_byte_from_slice` now returns `u8` instead of `&u8` # Are there any user-facing changes? Visibility and signatures of some methods changed. -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org