Open ridwanabdillahi opened 2 years ago
Just gonna add the information that building http
without its tests works just fine, since plotters
is a dev-dependency
via criterion
over there.
This should probably be addressed. It's still a problem for anyone who wants to run http
's tests on version 1.49 (like their CI).
These are the options which come to mind for dealing with this:
x
in 0.x.y
to release the latest stuff.criterion
to release a new version in that old series which pins its plotters
dependency specifically, as we know no future versions will support this MSRV.http
to separate its benchmarking dependencies from its testing ones. This is inconvenient, but could be done with a Cargo feature. Or by running benchmarks as their own entirely separate crate.http
to commit a Cargo.lock
to its repository, which pins the plotters
version. I believe this might do more harm than good, because it would prevent their CI from noticing problems in newer versions of dependencies they use. But, strictly speaking, it is an option.http
to raise its MSRV too. I dunno if this is reasonable, but it, too, is technically an option.(To be clear, I'd be willing to make the PRs for any of these.)
Of course, there's the question of whether an MSRV of 1.49 at this point is reasonable. To which I say: "I dunno. I don't really think it is, but this isn't my crate and neither is http
."
Release v0.3.3 of the plotters crate addressed an issue about raising the MSRV from 1.46 to 1.56 without incrementing the minor version. See issue here: https://github.com/plotters-rs/plotters/issues/398
This change also included a new dependency on new features such as the
unsigned_abs
feature which was not stabilized in the Rust compiler until the 1.51 release of the toolchain.This is currently breaking dependencies such as the
http
crate which has an MSRV of Rust 1.49 and takes a dependency on the plotters crate. Is there a way to resolve this issue such as removing the dependency on features that were stabilized after the Rust 1.46 release since the minor version is not being incremented in this release?Example: Building the
http
crate using the Rust 1.49.0 toolchain, the MSRV for the crate, I get the following compilation error:The unsigned_abs feature was stabilized in Rust 1.51.0.
This compilation error did not exist in plotters v0.3.1