Repository navigation
Rollup of 13 pull requests - #165488
Open
jhpratt wants to merge 42 commits into
Open
Rollup of 13 pull requests#165488jhpratt wants to merge 42 commits into
jhpratt wants to merge 42 commits into
Conversation
This reduces the amount of special casing #[no_mangle] needs in the rest of the compiler.
#[link_ordinal] is not compatible with #[link_name] and items in extern blocks now have an implicit #[link_name] with the item name. Alternatively it would be possible to suppress the error message for this implicit #[link_name].
Co-authored-by: Ralf Jung <post@ralfj.de>
Windows has a similar flag `/forceInterlockedFunctions`, which uses names such as `_InterlockedAdd64_rel`. This is a re-land of 1ed1b6e ("Enable `outline-atomics` by default on AArch64 Windows platforms").
Per LLVM commit c5e7e64 ("[AArch64][Clang][Linux] Enable out-of-line atomics by default.") [1], Clang enables these on Android. Thus, do the same in Rust. This is a re-land of c455903 ("Enable `outline-atomics` by default on AArch64 Android"). [1]: llvm/llvm-project@c5e7e649d537067de
Clang has done this by default since LLVM commit 1a963d3 ("[Driver] Make -moutline-atomics default for aarch64-fuchsia targets"), [1], so do the same here. This is a re-land of 21525f8 ("Enable `outline-atomics` by default on AArch64 Fuchsia"). [1]: llvm/llvm-project@1a963d3
Clang has recently started doing this, as of LLVM commit 5d774ec8d183
("[Driver] Enable outline atomics for OpenBSD/aarch64") [1]. Thus, do
the same here.
This is a re-land of 66c150c ("Enable `outline-atomics` by default
on AArch64 OpenBSD").
[1]: llvm/llvm-project@5d774ec
Many aarch64 targets without LSE in the baseline enable the `outline-atomics` feature, which uses runtime detection of LSE for its faster atomic ops. This provides nontrivial performance improvements on most hardware from the past decade, at a small cost to anything pre-LSE. This matches what Clang does [1]. This is a re-land of 383053e ("Enable `outline-atomics` by default on AArch64 FreeBSD"). [1]: llvm/llvm-project@e24f901
```
note: method defined here, with 0 generic parameters
--> $DIR/ufcs-qpath-missing-params.rs:4:8
|
LL | pub trait IntoCow<'a, B: ?Sized> where B: ToOwned {
LL | fn into_cow(self) -> Cow<'a, B>;
| ^^^^^^^^
```
Since L4Re currently has no openat support, the dir module used in the metadata function is not available to use.
…te-mir * add next-solver regression test for recursive opaque ices under validate-mir * move compile-flags to the top of the test and note that it used to ice
* add next-solver regression tests for two fixed ices * move compile-flags to the top of the tests and note that they used to ice
…=ShoyuVanilla Fancy paramenv accessors that communicate the access pattern better. r? @lcnr or @rust-lang/initiative-trait-system-refactor This is a single commit, to precede the future change of "compressed trait clauses". It adds a lot of the infrastructure, without making any real changes that may affect performance. As such it forms a separately reviewable step. Even though this isn't on its own such a useful change, it mostly refactors things, it does still make for a nicer API surface. Importantly, with compressed trait clauses (i.e. encoding some common traits as `where self_ty : <bitset of common traits>`), it becomes very important to be careful with how we iterate over caller bounds. I've tried other methods, but the typestate API (as proposed in this PR) is the only one I've found that's both ergonomic, and still allows for implementing compressed trait clauses performantly. > [!NOTE] > I've not used an LLM for any part of this PR, or any other PR I make. This includes any related work like research.
[tiny] Show context for found assoc item in E0107
The first code line is new:
```
note: method defined here, with 0 generic parameters
--> $DIR/ufcs-qpath-missing-params.rs:4:8
|
LL | pub trait IntoCow<'a, B: ?Sized> where B: ToOwned {
LL | fn into_cow(self) -> Cow<'a, B>;
| ^^^^^^^^
```
std: Fix build for the L4Re targets Since L4Re currently has no openat support, the dir module used in the metadata function is not available to use.
…maxdexh Add BTreeMap::allocator and BTreeSet::allocator Added an api extension `BTreeMap::allocator` the same way `Vec`, `VecDeque` and `BinaryHeap` have it. Tracking issue [rust-lang#163177](rust-lang#163177) Using a custom allocator with `BTreeMap<K, V, A>` currently needs both `btreemap_alloc` and `allocator_ext`. Should `btreemap_alloc` be folded into `allocator_ext`? r? @nia-e
…s, r=workingjubilee Don't "exit" using `panic` on teeos Fixes rust-lang#162847 On teeos, calling `exit` is not expected. There is also no `main` to implicitly exit, as the target exclusively uses dylibs. Currently, calling `std::process::exit` on `teeos` calls `cleanup`, which calls `unimplemented`. It doesn't make sense to "fail" to exit this way, as it just calls the user-controlled panic hook, which may keep the program alive for longer. This PR makes it abort instead.
Member
Author
|
@bors r+ p=5 force |
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Nov 5, 2026
Rollup of 13 pull requests Successful merges: - #163477 (Fancy paramenv accessors that communicate the access pattern better.) - #160593 (turn ABI-controlling target features into a target modifier) - #164896 (offload: pass the linked device image to the host pass) - #165468 (Remove return type from `BuilderMethods::store`) - #159374 (Lower #[no_mangle] to #[symbol_name]/#[link_name]) - #164564 (Re-enable outline-atomics by default on more AArch64 platforms) - #164623 (add next-solver regression tests for two fixed ices) - #164678 (add next-solver regression test for recursive opaque ICE under validate-mir) - #165429 (Add tests for `-Zcrate-attr` edition and position) - #165430 ([tiny] Show context for found assoc item in E0107) - #165456 (std: Fix build for the L4Re targets) - #165463 (Add BTreeMap::allocator and BTreeSet::allocator) - #165466 (Don't "exit" using `panic` on teeos)
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Contributor
|
💔 Test for f12dc29 failed: CI. Failed job:
|
Member
|
@bors try jobs=test-x86_64-mingw-1 |
rust-bors Bot
pushed a commit
that referenced
this pull request
Nov 5, 2026
Rollup of 13 pull requests try-job: test-x86_64-mingw-1
Contributor
|
⌛ Trying commit 840542c with merge f138351… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/41991574281 |
Member
Author
|
@JonathanBrouwer I think this is potentially caused by #159374? It touches linking, at least… |
Member
|
I could believe that, started a try job there as well |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
BuilderMethods::store#165468 (Remove return type fromBuilderMethods::store)-Zcrate-attredition and position #165429 (Add tests for-Zcrate-attredition and position)panicon teeos #165466 (Don't "exit" usingpanicon teeos)r? @ghost
Create a similar rollup