-
Notifications
You must be signed in to change notification settings - Fork 129
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
Will rust 1.59.0 be a barrier to using the newer create? #231
Comments
Yes, using MSRV 1.59.0 is already a barrier and this is getting more of a challenge as rust releases progress. The reason we are using this "prehistoric" release as our MSRV is the latest long-term support release of Yocto (for building embedded Linux distributions) provided this Rust release. A new long-term support release of Yocto is out and I wanted to tackle this long overdue bump of the MSRV together with a bigger refactoring of the interface (like #34, #94 ...). But it looks like this is too much asked and not gonna happen soon. I consider bumping our MSRV as a semver breaking change. The seralport crate stumbled more than one time over dependencies bumping their MSRV with a minor release and I'd like to spare users this not so pleasant experience. That's why I'm starting to get inclined to do split this up in two major releases:
So a switch to windows-sys could land with each of them. |
Hi, I'm also seeing a lot of PRs are currently blocked by this MSRV requirement, so I wonder when could this happen? Should we start branching out with a newer MSRV so that we can start getting PRs merged and have a foundation to work on? |
Which PRs are you referring to here? For sure, the list of PRs and also tagging them. As of now both, semver breaking and MSRV breaking changes are tagged as 5.0.0. We could and likely should split this up between semver and MSRV breaking changes. |
I'm referring to PRs that are tagged with 5.0.0. There are currently 8 open PRs that are tagged with 5.0.0 and over half of them require resolving conflicts due to they are pulled against
The question is how should we proceed? Should we start merging MSRV breaking changes into I'm willing to help with splitting PRs into API breaking and MSRV breaking parts, with goals to have them merged, however. But it is also worrying to see that simple MSRV breaking PRs like #76 have waited for 2 years with no sign they will be merged. |
I'll pile on here, too. Using Yocto, we've learned to put Cargo.lock files into our repo for all of our internal Rust crates to ensure that MSRV updates to our dependencies don't break our build. I assume that everyone using Rust on Yocto has learned this lesson? But that has also freed me to bump the MSRV on my own open-source hw/embedded Rust crates without worrying about breaking my own builds and everyone else's. I love that cargo added a Minimum RSV, but I wish they would also add a Maximum RSV to resolve the latest version of dependencies that don't break the build. I think the latest Yocto Rust version is a good target for MSRV in a crate like this. MSRV 1.75 would be really helpful right now. |
Over time, many third-party libraries are updated to take advantage of new features and improvements in Rust. If your project depends on these libraries and they no longer support Rust 1.59.0, using an older version of the compiler may become a problem.
For example, windows-sys 0.59.0 requires libc 0.2.164 to build on some platforms.
#228
The text was updated successfully, but these errors were encountered: