-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Rollup of 9 pull requests #130530
Rollup of 9 pull requests #130530
Conversation
In the implementation of `force_mut`, I chose performance over safety. For `LazyLock` this isn't really a choice; the code has to be unsafe. But for `LazyCell`, we can have a full-safe implementation, but it will be a bit less performant, so I went with the unsafe approach.
This reverts commit da8ac73.
When we have two types with the same name, one without type parameters and the other with type parameters and a derive macro, we were before incorrectly suggesting to remove type parameters from the former, which ICEd because we were suggesting to remove nothing. We now gate against this. The output is still not perfect. E0107 should explicitly detect this case and provide better context, but for now let's avoid the ICE.
This is ignored by LLVM, but is still incorrect.
The previous name is just an LLVMism, which conveys almost nothing about what is actually meant by the function relative to the ABI. In doing so, remove an already-addressed FIXME.
Add `Thread::{into_raw, from_raw}` Public API: ```rust #![unstable(feature = "thread_raw", issue = "97523")] impl Thread { pub fn into_raw(self) -> *const (); pub unsafe fn from_raw(ptr: *const ()) -> Thread; } ``` ACP: rust-lang/libs-team#200
Do not ICE with incorrect empty suggestion When we have two types with the same name, one without type parameters and the other with type parameters and a derive macro, we were before incorrectly suggesting to remove type parameters from the former, which ICEd because we were suggesting to remove nothing. We now gate against this. The output is still not perfect. E0107 should explicitly detect this case and provide better context, but for now let's avoid the ICE. Fix rust-lang#108748.
Gate `repr(Rust)` correctly on non-ADT items rust-lang#114201 added `repr(Rust)` but didn't add any attribute validation to it like `repr(C)` has, to only allow it on ADT items. I consider this code to be nonsense, for example: ``` #[repr(Rust)] fn foo() {} ``` Reminder that it's different from `extern "Rust"`, which *is* valid on function items. But also this now disallows `repr(Rust)` on modules, impls, traits, etc. I'll crater it, if it looks bad then I'll add an FCW. --- https://github.com/rust-lang/rust/labels/relnotes: Compatibility (minor breaking change).
…nieu Win: Open dir for sync access in remove_dir_all A small follow up to rust-lang#129800. We should explicitly open directories for synchronous access. We ultimately use `GetFileInformationByHandleEx` to read directories which should paper over any issues caused by using async directory reads (or else return an error) but it's better to do the right thing in the first place. Note though that `delete` does not read or write any data so it's not necessary there.
…irect, r=bjorn3 Reduce confusion about `make_indirect_byval` by renaming it As part of doing so, remove the incorrect handling of the wasm target's `make_indirect_byval` (i.e. using it at all).
…ake-2, r=Amanieu Implement ACP 429: add `Lazy{Cell,Lock}::get[_mut]` and `force_mut` Tracking issue for `lazy_get`: rust-lang#129333
Update the minimum external LLVM to 18 With this change, we'll have stable support for LLVM 18 and 19. For reference, the previous increase to LLVM 17 was rust-lang#122649. cc `@rust-lang/wg-llvm` r? nikic
…cuviper Clarify docs for std::fs::File::write This PR fixes the doc comment for `std::fs::File::write` method.
…hs, r=compiler-errors [Clippy] Swap `manual_retain` to use diagnostic items instead of paths Part of rust-lang/rust-clippy#5393, just a chore.
@bors r+ p=9 rollup=never |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
I rebased #130487 for that conflict. |
Ah. |
☔ The latest upstream changes (presumably #130519) made this pull request unmergeable. Please resolve the merge conflicts. |
Successful merges:
Thread::{into_raw, from_raw}
#97524 (AddThread::{into_raw, from_raw}
)repr(Rust)
correctly on non-ADT items #129422 (Gaterepr(Rust)
correctly on non-ADT items)make_indirect_byval
by renaming it #130450 (Reduce confusion aboutmake_indirect_byval
by renaming it)Lazy{Cell,Lock}::get[_mut]
andforce_mut
#130476 (Implement ACP 429: addLazy{Cell,Lock}::get[_mut]
andforce_mut
)manual_retain
to use diagnostic items instead of paths #130522 ([Clippy] Swapmanual_retain
to use diagnostic items instead of paths)Failed merges:
map_entry
to use diagnostic items instead of paths #130523 ([Clippy] Swapmap_entry
to use diagnostic items instead of paths)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup