You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "andygrove (via GitHub)" <gi...@apache.org> on 2026/10/01 14:06:10 UTC
[PR] fix: build with Rust 1.99, which deprecates the legacy f64 constants and fetch_update [datafusion-comet]
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: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] fix: build with Rust 1.99, which deprecates the legacy f64 constants and fetch_update [datafusion-comet]
Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove merged PR #6507:
URL: https://github.com/apache/datafusion-comet/pull/6507
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org