rust-random / rand

A Rust library for random number generation.
https://crates.io/crates/rand
Other
1.67k stars 432 forks source link

Reduce MSRV to 1.60 #1513

Closed dhardy closed 1 month ago

dhardy commented 1 month ago

Summary

MSRV = 1.60 for build, 1.61 for tests

Motivation

This was requested.

Details

The lack of full tests on 1.60 isn't documented anywhere. Should it be?

newpavlov commented 1 month ago

IIRC MSRV bump to 1.61 was caused by criterion. Now benchmarks reside in a separate crate outside of workspace, so it no longer applies. Is there another dev dependency which has similar MSRV?

dhardy commented 1 month ago

Yes; rand uses rayon in an example, and that uses crossbeam which requires 1.61. Meanwhile rand_distr uses average as a dev-dependency which also requires 1.61.

newpavlov commented 1 month ago

Hm... Personally, I think it's fine to bump MSRV to 1.61 then. The motivating request was a bit strange and they have still options to not update rand or to ignore rust-version.

dhardy commented 1 month ago

It doesn't cost us much, so I don't see why we shouldn't do this.

It's something I dislike about the rust-version tag actually: it should be set to the minimum version we actually want to test & support while allowing users to still try building (with a warning) on older versions.

newpavlov commented 1 month ago

This means that MSRV is not properly tested and we get weird exceptions "we declare 1.60 support, but, well, test only for 1.61" in different places. I guess as a middle ground we could release v0.9.0 with rust-version equal to 1.60 and update it to 1.61 in v0.9.1.

while allowing users to still try building (with a warning) on older versions

They can do it by passing the --ignore-rust-version flag.

dhardy commented 1 month ago

TIL about --ignore-rust-version.

Then I agree; there's no reason to merge this.