Skip to content
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 policy #1242

Closed
jplatte opened this issue May 19, 2022 · 5 comments
Closed

MSRV policy #1242

jplatte opened this issue May 19, 2022 · 5 comments

Comments

@jplatte
Copy link
Collaborator

jplatte commented May 19, 2022

Hi! I'm curious what your thoughts are on what Rust version UniFFI should minimally support. I found that it currently contains a hack for a bug in stable Rust (include 1.61.0 released today) that should be fixed in 1.62.0 (PR).

I would like to remove this hack ahead of posting a PR for a macro frontend (see recent discussion in #385 for plans around that). Is it acceptable to increase the MSRV to 1.62.0 (beta) for that now based on the assumption that there isn't going to be a crates.io release in the next 6 weeks (given the last release is only 2w old)? Or if not now, would it be okay to bump once 1.62.0 is stable?

┆Issue is synchronized with this Jira Task
┆friendlyId: UNIFFI-164

@mhammond
Copy link
Member

Our policy is at https://github.com/mozilla/uniffi-rs/blob/main/docs/policies/rust-versions.md, which implies 1.59.0 is the min version we want to support currently.

@jplatte
Copy link
Collaborator Author

jplatte commented May 23, 2022

Given the current rust-toolchain.toml contains 1.60 (https://github.com/mozilla/uniffi-rs/blob/main/rust-toolchain.toml), that seems unlikely 😄

Right now it seems to me like it should take at most a few months until MSRV can be 1.62, which is probably fine for upstreaming my changes (at least from my / Element's perspective).

@mhammond
Copy link
Member

Given the current rust-toolchain.toml contains 1.60 (https://github.com/mozilla/uniffi-rs/blob/main/rust-toolchain.toml), that seems unlikely 😄

Right - that's the "uses" version, which m-c is also currently on. The m-c "requires" version is 1.59 - often there's a larger gap but it's small now. So I'm not quite sure what's "unlikely" - is there something we need to clarify in the docs?

(Regardless, given the policy exists, I'm going to close this, but happy to keep engaging on this)

@jplatte
Copy link
Collaborator Author

jplatte commented May 24, 2022

Yeah I saw this big table with different versions in the moz documentation and understood none of it. What's "requires" vs "uses"?

@mhammond
Copy link
Member

mhammond commented May 24, 2022

I'll update the docs to make that clearer, but:

  • uses is what all the CI and release engineering machines actually use.
  • requires is what some downstream packagers (eg, some linux distros) use, so the min required for everything to "work"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants