Rollup of 7 pull requests - #160601
Open
jhpratt wants to merge 19 commits into
Open
Conversation
…` jobs
The aarch64 macos runners seem to be consistently among the slowest
jobs, sometimes pushing our overall CI time to 4 hours on a bad run.
Let's try to split the jobs to keep the overall Merge CI time
manageable:
* `aarch64-apple` => `aarch64-apple-{1,2}`
* `aarch64-apple-macos-26` => `aarch64-apple-macos-26-{1,2}`
This method currently does two things: it applies the effect, and also computes the edges. However: - Three of the four call sites don't use the edges. - Most analyses just return `terminator.edges()` unconditionally. This commit separates the edge computation into a new method, `get_terminator_edges()`. It defaults to `terminator.edges()`, which means that most analyses don't need to define it. And now edges are only obtained when they are needed (in `Forward::apply_effects_in_block`).
these are slightly distinct subsets of a platonic ideal borrowck.
Mitigation for [RUST-159429]. The recurring problem is that built-in attributes are treated differently compared to ordinary prelude attributes, built-in attributes, even while unstable, can name-collide with stable macro re-exports of the same name (and proc-macro helper attributes of the same name), which can break stable code. See [RUST-134964]. [RUST-159429]: rust-lang#159429 [RUST-134963]: rust-lang#134963
To account for the renamed `#[rustc_unroll]` attribute.
This stderr diff is a funny side-effect of renaming `#[unroll]` => `#[rustc_unroll]`, where the `#[rustc_unknown]` attribute name is just similar enough edit distance wise to `#[rustc_unroll]` that `#[rustc_unroll]` shows up as a plausible suggestion candidate, lol.
…, r=Mark-Simulacrum
Split `aarch64-apple{,-macos-26}` => `aarch64-apple{,-macos-26}-{1,2}` jobs
## Summary
The aarch64 macos runners seem to be consistently among the slowest jobs, sometimes pushing our overall CI time to 4 hours on a bad run. Let's try to split the jobs to keep the overall Merge CI time manageable:
* `aarch64-apple` => `aarch64-apple-{1,2}`
* `aarch64-apple-macos-26` => `aarch64-apple-macos-26-{1,2}`
Discussed in [#t-infra > GHA macos-26 slowness @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/GHA.20macos-26.20slowness/near/613771526).
### Some imprecise stats
Looking at [CI dashboard](https://p.datadoghq.com/sb/3a172e20-e9e1-11ed-80e3-da7ad0900002-b5f7bb7e08b664a06b08527da85f7e30?fromUser=true&refresh_mode=sliding&tpl_var_branch_name%5B0%5D=automation%2Fbors%2Fauto&tpl_var_env%5B0%5D=%2A&tpl_var_is_default_branch%5B0%5D=%2A&tpl_var_pipeline_name%5B0%5D=CI&tpl_var_provider_instance%5B0%5D=%2A&tpl_var_provider_name%5B0%5D=github&from_ts=1783056725849&to_ts=1785735125849&live=true) over past month (as of 2026-08-03):
| Job | Median | P95 | Run counts |
|------------------------|---------:|---------:|-----------:|
| aarch64-apple | 2.94 hr | 3.59 hr | 156 |
| aarch64-apple-macos-26 | 3.12 hr | 3.59 hr | 148 |
The median seems *okay*, the `macos-26` job is on par median wise with `i686-msvc-1` and `dist-x86_64-linux`. It's the P95 that's more concerning, since `i686-msvc-1` P95 is the second-worst at `3.25` hr.
r? infra-ci
---
try-job: `aarch64-apple*`
…, r=cjgillot Split `apply_primary_terminator_effect` It currently does two distinct things, and it's a bit nicer it they are separated. Details in individual commits. r? @cjgillot
Rename `#[unroll]` => `#[rustc_unroll]` to mitigate nameres ambiguity ## Summary Mitigate rust-lang#159429 by renaming `#[unroll]` => `#[rustc_unroll]`. Did not bother with a regression test, because a regression test would be hedging against an unknown attribute if `#[unroll]` later proceeds to get a different name. Tracking issue for `#![feature(loop_hints)]`: rust-lang#156874. ## Rationale Even while the crater-observed fallout seems to be relatively small, we'd like such nameres ambiguity breakages to be *deliberate* (read: T-lang FCP'd) rather than accidental (discovered through beta crater runs). See discussions around [last week's compiler triage meeting](https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202026-07-23/near/612371735). ## Background context The recurring problem is that built-in attributes are treated differently compared to ordinary prelude attributes, built-in attributes, even while unstable, can name-collide with stable macro re-exports of the same name (and proc-macro helper attributes of the same name), which can break stable code. See rust-lang#134964. See also: - rust-lang#133708 - rust-lang#53913 (comment) - https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/Name.20Res.3A.20questions.20on.20intended.20behavior/near/562001319 - rust-lang#143834 (comment) ## Prior Art - For `#[align]`, breakage was more wide-spread, so we posted this same mitigation here: rust-lang#144080. - For `#[sanitize]`, T-lang explicitly FCP'd the breakage stemming from renaming `#[no_sanitize]` (old name) to `#[sanitize]` (new name) that regressed a couple of crates: rust-lang#142681 (comment). ## Alternatives to this PR Generally: - We let it slide. - T-lang FCP on `#[unroll]` breakage (in which case this PR should be closed). - FCP another name (and associated breakages). - (Hard) Fix the built-in attribute name resolution behavior. I have no particular preference on the approaches myself, any of this PR and the alternatives seem fine so as long as the breakage is *deliberate* not accidental.
Add tests for fixed new solver issues rust-lang/trait-system-refactor-initiative#262 rust-lang/trait-system-refactor-initiative#267 (test without opaque types didn't hang locally?) rust-lang#158461 r? @lcnr
Update error message in documentation comments Fixes the `library/core/src/fmt/mod.rs` item in the rust-lang#159751 issue.
Add regression test for array type recovery in generic arguments Closes rust-lang#81097 adds a regression test. existing covrage was let position only
add a test showing polonius alpha is not a subset of datalog polonius This adds a test showing how the datalog and alpha algorithms are not subsets of one another, and are slightly distinct subsets of a platonic ideal borrowck. r? @jackh726
Member
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 6, 2026
Rollup of 7 pull requests try-job: dist-various-1 try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple try-job: x86_64-mingw-1 try-job: i686-msvc-*
Contributor
|
💔 Test for ffecffb failed: CI. Failed job:
|
Member
Author
Contributor
|
❗ There is currently no try build in progress on this PR. |
Contributor
|
⌛ Trying commit 1b198cb with merge c596db2… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/31072214183 |
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 6, 2026
Rollup of 7 pull requests try-job: dist-various-1 try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: x86_64-mingw-1 try-job: i686-msvc-*
Collaborator
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
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:
aarch64-apple{,-macos-26}=>aarch64-apple{,-macos-26}-{1,2}jobs #160415 (Splitaarch64-apple{,-macos-26}=>aarch64-apple{,-macos-26}-{1,2}jobs)apply_primary_terminator_effect#160555 (Splitapply_primary_terminator_effect)#[unroll]=>#[rustc_unroll]to mitigate nameres ambiguity #160211 (Rename#[unroll]=>#[rustc_unroll]to mitigate nameres ambiguity)r? @ghost
Create a similar rollup