-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update dependencies and bump MSRV #22
Conversation
Thanks, this makes sense! Note however that There are some issues with the tests:
Do we even need |
Right, I had not thought about this. Looks like the only "rand project" crate that depens on average is rand_distr, it currently has an MSRV of 1.36. But do dev-dependencies even impact MSRV? They wouldn't even be downloaded when compiling something that depends on rand_distr.
Right, I hadn't considered that the CI would need to be adapted. I can attempt to change the settings.
The test output looks like a (temporary?) floating point accuracy issue rather than a problem with serde-big-array:
(The only difference between these two strings seems to be the least significant digit, i.e. 6 vs. 5.)
Apparently yes, according to the projects's readme, serde does not support const generics yet. |
At least for Rand they do, because we run the tests with the MSRV. However, Rand is going to bump the MSRV to 1.51 with the upcoming 0.9 release as well, so this should be fine to merge.
Not sure it's temporary, floating-point math is still deterministic. Could also be related to the compiler version, but I think the test was passing before, so what else could it be? |
Yeah, I suspected as much. But if MSRV is going to be 1.51 with the next release, that's good news 🎉
Not necessarily ... some results of floating-point operations might depend on the specific CPU model, or the underlying libc implementation, or the implementation in Rust's std. And in this case, floating-point → string conversion also might play a role. I looked at the dependencies, but ryu (which was recently updated) isn't used, and the version of dtoa is really old, so I'm nor really sure what else could be the culprit. Do you know whether CI still passes on the current master branch with current nightly Rust, i.e. without my changes? |
Hum, it looks like the "minimal_versions" test has been failing for a while, even without this PR. I can't look at the logs though, because they're been removed by now. |
In any case, if it fails on master, it should not block this PR. Thanks for contributing! |
Thanks for merging :) |
The current MSRV of 1.36 is increasingly outdated, as are some of the dependencies. This PR updates all dependencies to the latest available versions, and bumps the documented MSRV to 1.51 (which is now ~18 months old):
All linux distributions that I checked should work with Rust 1.51 - except maybe debian stable, which has both Rust 1.48 and 1.51 available.