yinli-systems opened a new pull request, #10907: URL: https://github.com/apache/arrow-rs/pull/10907
Fixes #10131. ## Human review and ownership I reviewed the final diff and understand the checked conversion approach, the safe and unsafe cast semantics, and the regression coverage. I can debug and own this change. ## Summary - Respect `CastOptions` when `Time64` values are narrowed to `Time32`. - Use checked multiplication for `Time64(Microsecond)` to `Time64(Nanosecond)`. - Route `Date64` precision increases through the existing checked timestamp conversion. - Add regressions asserting that safe casts produce nulls and unsafe casts return errors. The original examples were fixed by #10162. This change covers the remaining audited paths: `Time64(us/ns) -> Time32(s/ms)`, `Time64(us) -> Time64(ns)`, and `Date64 -> Timestamp(us/ns)`. ## Validation - Negative control on `2c50074c`: the Time64 test returned non-null truncated values, and the Date64 test panicked with `attempt to multiply with overflow`. - `cargo test -p arrow-cast`: 377 unit tests and 11 doctests passed. - `cargo +stable fmt --all -- --check` passed. - `cargo clippy -p arrow-cast --all-targets --all-features -- -D warnings` passed. - `git diff upstream/main...HEAD --check` passed. ## AI assistance Codex assisted with auditing temporal conversion paths, preparing the implementation and regression tests, updating the branch onto current `main`, and running the validation above. The contributor reviewed the final diff and confirmed understanding and ownership before submission. -- 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]
