tokio-rs / tokio-uring

An io_uring backed runtime for Rust
MIT License
1.14k stars 122 forks source link

Determine MSRV Policy #239

Open yuri-rs opened 1 year ago

yuri-rs commented 1 year ago

I see that current master require 1.65 for 1 let...else statement and 1.64 for few std::future::poll_fn usages. I don't think it is great, since these are too fresh Rust versions. Also it would be good to provide clear MSRV guarantees in Readme and include this MSRV in CI.

yuri-rs commented 1 year ago

I think it would be better to revert https://github.com/tokio-rs/tokio-uring/commit/f6cb0ed0f05b99a492974e6c2c423954ec42d4ce at least for the next release

Noah-Kennedy commented 1 year ago

We don't plan on having an MSRV policy right now. This project is pretty early on in its lifecycle and very much not stable yet, so we don't plan on having an MSRV policy until later.

What is the reason that you need a lower MSRV? 1.65 is not very new, given that rust 1.67 is currently the latest one out.

yuri-rs commented 1 year ago

Ok, I see that there is no MSRV policy right now. Just expected some and expected some policy to be aligned with tokio somehow someday.

I, personally, think that MSRV not thought out in general, because it is quite common to just bump MSRV in the project without any indication. For example, projects with tokio-uring = "0.4.0" dep will not compile on ubuntu-22.04 by rustc right after tokio-uring 0.5.0 with MSRV 1.65 release.

This result in situations like - https://github.com/tokio-rs/tokio/pull/5048 By the way, I don't fully understand why the solution was to copy OneCell into the tokio, rather than specify once_cell = "=1.5.2" in Cargo.

I created this issue because:

Noah-Kennedy commented 1 year ago

I think that at least specifying the current MSRV would be good.