-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Audit all concurrent types for &mut aliases #12429
Comments
What do we think the status is of this today? @aturon , I'd imagine that during stability, these kinds of concerns have been addressed, yes? |
Yeah I think that all public-facing types have been audited as necessary. A lot of the internal implementation details of channels still need to be dealt with, but that can always happen at a later date! |
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 3, 2024
fix: panic when inlining callsites inside macros' parameters Close rust-lang#16660, rust-lang#12429, rust-lang#10695. When `inline_into_callers` encounters callsites in macros parameters, it can lead to panics. Since there is no perfect way to handle macros, this PR directly filters out these cases.
flip1995
pushed a commit
to flip1995/rust
that referenced
this issue
Mar 7, 2024
…-ctxt, r=Manishearth Don't lint `redundant_field_names` across macro boundaries Fixes rust-lang#12426 The `field.span.eq_ctxt(field.ident.span)` addition is the relevant line for the bugfix The current implementation checks that the field's name and the path are in the same context by comparing the idents, but not that the two are in the same context as the entire field itself, so in local macros `SomeStruct { $ident: $ident }` would get linted changelog: none
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Followup to #11583
It is incorrect to allow
&mut
to alias in parallel. Mutable concurrent types must use interior mutability where &mut would result in aliasing.The text was updated successfully, but these errors were encountered: