-
Notifications
You must be signed in to change notification settings - Fork 100
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
OpenVMM Rust 2024 Compatibility #288
Labels
linting
Changes for better linting and/or their cleanups
Comments
smalis-msft
added a commit
that referenced
this issue
Nov 12, 2024
This PR fixes up the easy issues with Rust 2024 compatibility and enables the lint for it. However it also scopes out some allows for the things that need some more work and focus. #288 is tracking them. Changes in this PR: - extern blocks are now unsafe - `gen` is becoming a reserved keyword, rename variables - mark unsafe attributes other than linkme's - resolve the ambiguity of `fn poll` in VmbusSerialDriver
This was referenced Dec 17, 2024
smalis-msft
added a commit
that referenced
this issue
Dec 17, 2024
smalis-msft
added a commit
that referenced
this issue
Dec 17, 2024
smalis-msft
added a commit
that referenced
this issue
Dec 18, 2024
Instead, just make our own environment clone. With additional parameters! And annoying type conversions! Part of #288
smalis-msft
added a commit
that referenced
this issue
Jan 2, 2025
Part of #288. This is not yet enforced by clippy (rust-lang/rust-clippy#13316), but we should be doing it anyways.
Merged
smalis-msft
added a commit
that referenced
this issue
Jan 14, 2025
…528) The Rust 2024 edition will be changing how `impl Trait` in return position functions. Namely it will be changing the rules from capturing no lifetimes, to capturing all lifetimes. The reasons for this are documented in [RFC 3498](https://github.com/rust-lang/rfcs/blob/master/text/3498-lifetime-capture-rules-2024.md) and [the migration guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html). A new 'precise capturing' syntax has been added to allow cases that don't need everything captured to scope down what they take. This PR updates all such cases to use the new syntax. Note that currently this new syntax requires all type parameters in scope to be listed. This currently results in overcapturing of type parameters. This will be relaxed in the future, and is tracked by [RFC 3617](rust-lang/rust#130043). This PR also marks the edition_2024_expr_fragment_specifier lint as no longer needing fixing, as I have completed an audit of all our macros that it flagged and none of them need changing. Part of #288
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this issue
Jan 15, 2025
This PR fixes up the easy issues with Rust 2024 compatibility and enables the lint for it. However it also scopes out some allows for the things that need some more work and focus. microsoft#288 is tracking them. Changes in this PR: - extern blocks are now unsafe - `gen` is becoming a reserved keyword, rename variables - mark unsafe attributes other than linkme's - resolve the ambiguity of `fn poll` in VmbusSerialDriver
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tracking issue for known problems that will prevent OpenVMM from adopting the Rust 2024 edition once it is released. Ideally we will fully turn on the
rust-2024-compatibility
lint and remove all allows before making the switch.undocumented_unsafe_blocks
) rust-lang/rust-clippy#13316)The text was updated successfully, but these errors were encountered: