andygrove opened a new pull request, #6507: URL: https://github.com/apache/datafusion-comet/pull/6507
## Which issue does this PR close? No issue is filed. Rust 1.99.0 was released on 2026-10-01, and the `rust-test` job has failed on every pull request and merge queue run since about 12:41 UTC, for example in [run 36862898765](https://github.com/apache/datafusion-comet/actions/runs/36862898765). ## Rationale for this change CI installs the latest stable toolchain (`RUST_VERSION: stable` in `pr_build_linux.yml`), and `rust-test` runs `cargo clippy --all-targets --workspace -- -D warnings`. Rust 1.99.0 fully deprecates the legacy numeric module constants and deprecates `Atomic*::fetch_update`, so the warnings fail the job: - 29 errors in the test module of `spark-expr/src/conversion_funcs/numeric.rs`, such as `use of deprecated constant std::f64::NAN: replaced by the NAN associated constant on f64` - 4 errors in `core/src/execution/memory_pools/`: `use of deprecated method std::sync::atomic::Atomic::<usize>::fetch_update: renamed to try_update for consistency` ## What changes are included in this PR? - The test module in `numeric.rs` imported `core::f64`, so its `f64::NAN`, `f64::INFINITY`, `f64::MAX` and the other constants named the deprecated module constants. Without the import they are the associated constants on `f64`. The tests are otherwise unchanged. - `CometUnifiedMemoryPool::{grow, shrink, try_grow}` and `SparkMemory::repay` keep `fetch_update` under `#[allow(deprecated)]`. Its replacement, `try_update`, was stabilized in Rust 1.95, which is newer than the workspace `rust-version` of 1.94, so switching would raise the minimum Rust version, and clippy's `incompatible_msrv` lint would reject it. The attribute goes on each method because three of the calls sit in `if let` conditions, where it can't go on the expression. ## How are these changes tested? This changes no behavior, so there are no new tests. - I could not install Rust 1.99 locally, so this PR's own `rust-test` run is the check on 1.99. Cargo stops at the first crates that fail, so the failing runs did not lint every target. If 1.99 flags anything else, it shows up here. - On Rust 1.97, `cargo clippy --all-targets --workspace -- -D warnings` and `cargo fmt --check` are clean, and the `memory_pools` and `conversion_funcs::numeric` tests pass. - A grep of `native/` and `contrib/` finds no other legacy numeric module constants and no other `fetch_update` calls. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
