Description
I'm trying to update futures-rs crates in Fedora Linux to version 0.3.31, but I'm hitting a problem that I can't compile them with Rust 1.75 (for EPEL on RHEL 9). futures v0.3.30 with the same features enabled compiles fine on Rust 1.75 and 1.79, but v0.3.31 now fails with:
error[E0658]: use of unstable library feature 'io_slice_advance'
--> /usr/share/cargo/registry/futures-util-0.3.31/src/io/write_all_vectored.rs:22:9
|
22 | IoSlice::advance_slices(&mut bufs, 0);
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #62726 <https://github.com/rust-lang/rust/issues/62726> for more information
= help: add `#![feature(io_slice_advance)]` to the crate attributes to enable
error[E0658]: use of unstable library feature 'io_slice_advance'
--> /usr/share/cargo/registry/futures-util-0.3.31/src/io/write_all_vectored.rs:37:17
|
37 | IoSlice::advance_slices(&mut this.bufs, n);
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #62726 <https://github.com/rust-lang/rust/issues/62726> for more information
= help: add `#![feature(io_slice_advance)]` to the crate attributes to enable
As far as I can tell, the code in futures_util
hasn't changed since v0.3.30, and IoSlice
in futures_io::IoSlice
is a reexport of std::io::IoSlice
in both v0.3.30 and v0.3.31, so I have no idea why this would suddenly break (or why it previously worked? the IoSlice::advance_slices
method was unstable for years and this worked...)
And, well, I can't reproduce this "upstream" with crates from crates.io, because futures-util v0.3.30 was yanked from crates.io, and cargo won't let me pick that version to compare with.