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]

Reply via email to