Closed tlovell-sxt closed 3 weeks ago
Looks like it actually requires rust 1.77.0
, my bad. Verified this by running
rustup default 1.76 && cargo install subkey --force # fails
rustup default 1.77 && cargo install subkey --force # succeeds
updated the original message accordingly.
Still - should increased rust version requirements necessitate a breaking version increment?
Bumping MSRV is usually not considered a breaking change in the ecosystem. It is true that it has semver implications; however, the gist is that bundling MSRV bumps with actual breaking changes that require user intervention would be worse for the ecosystem than bumping MSRV in minor versions, and only changing major versions when API breaks. There is some more here https://github.com/rust-lang/api-guidelines/discussions/231.
This crate also doesn't have a MSRV policy. All that being said; upgrading the MSRV wasn't really intentional. If the only thing blocking builds with an older Rust version is ::
vs. :
in build.rs, feel free to put up a PR that changes this back and adjusts the "stable" job in CI to test with an older version.
The change was easy and didn't trade anything off, so I applied that. I also documented the MSRV as 1.63 (current Debian stable) and added a CI check. This just released as 0.2.10.
We may still want to bump the version in the future and this will likely be done without a semver-breaking change, as discussed above, but at least it can't happen by accident anymore.
The change was easy and didn't trade anything off, so I applied that. I also documented the MSRV as 1.63 (current Debian stable) and added a CI check. This just released as 0.2.10.
We may still want to bump the version in the future and this will likely be done without a semver-breaking change, as discussed above, but at least it can't happen by accident anymore.
Thank you for the quick fix <3
Just for future reference, what Rust versions is everyone using this crate with? And what for?
I am wondering how much of its purpose as a standalone crate will be obsoleted once we are eventually able to move the math functions to core
.
Just for future reference, what Rust versions is everyone using this crate with? And what for?
I am wondering how much of its purpose as a standalone crate will be obsoleted once we are eventually able to move the math functions to
core
.
I’m using it through ndarray -> num-traits -> libm (this is an optional alternative to depending on std) and through twofloat -> libm (this is currently non-optional but I think could also use std instead). My own crate has a CI-checked MSRV 1.76.
In no-std projects, my reliance on libm is much greater and moving more functions to core would definitely help there.
When running
RUN cargo install subkey
using rust1.76.0
, I get the following build error.Is this expected? Does our dependency that depends on
libm
need to change - or should0.2.9
be yanked?