-
Notifications
You must be signed in to change notification settings - Fork 27
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
msrv 1.48 broken #76
Comments
The MSRV for
Although there's not really a hard limit. So we should probably migrate away from @BurntSushi Do you foresee any cases where you would bump the MSRV of |
I make no promises about when and under what conditions I bump the MSRV. I just generally try to be "conservative" for widely used crates like I would also like to add @epage's advice here: folks who actually need to care about MSRV that are building an application can use a lock file to pin versions as needed. So even if you want to maintain a more conservative MSRV than one of your dependencies, authors of applications using your library can still target an older version of Rust by pinning the dependency to an older version via their lock file. If you can abide an older version of Rust, then you should abide an older version of third party libraries.
It looks like you only have one use of Lines 1803 to 1830 in 7896fcc
Assuming that's a performance sensitive section of code, If it's not performance sensitive, then I'd drop the dependency regardless of MSRV concerns. |
Some quick thoughts to add to what was said. Version requirements represent a range of supported versions; we are just used to always using the latest. So long as an instance of the dependency tree meets with MSRV, I consider that to sufficient. It isn't the ideal workflow to manage your lockfile for MSRV but I also feel that those who have the longer tail of MSRV requirements can take on some of the burden rather than foisting it on maintainers of their dependencies. I would especially recommend against trying to use version requirements (particularly upper bounds) to ensure you and your dependents always get MSRV compatible dependencies. Projects doing this has the risk of fracturing the ecosystem where packages cannot be used together. I've seen an increasing trend of this of late which is what lit the fire in me to get the guidance around lockfiles to be changed in cargo. As part of that work, we've also created general guidelines for how to use version requirements. That all said, to make working with this easier, I also expedited a very hacky implementation of a MSRV-aware resolver into cargo via |
Thanks for the input. I actually have an idea to get the best of both worlds. By default we should use the naïve way of finding the character in the line. But then expose a |
A bit of a nitpick but that is inaccurate unless you raise the version requirement. It has a different MSRV policy and newer versions may have an MSRV higher than this project. |
I've bumped our MSRV to 1.61 in b85ecf5, which solves our problem in the short term. |
Closes #76 Signed-off-by: John Nunley <[email protected]>
Closes #76 Signed-off-by: John Nunley <[email protected]>
Closes #76 Signed-off-by: John Nunley <[email protected]>
https://github.com/smol-rs/futures-lite/actions/runs/6060417025/job/16444572020
The text was updated successfully, but these errors were encountered: