Skip to content

Rollup of 5 pull requests - #160974

Merged
rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-9P4088l
Aug 12, 2026
Merged

Rollup of 5 pull requests#160974
rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-9P4088l

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

adwinwhite and others added 13 commits August 11, 2026 14:13
Also includes `HELP` checks for add-tuple-within-arguments.rs to make it clear
that the referenced rules are being tested
Was already stable when using explicit types (e.g. `Vec<u8>`). `WriteThroughCursor` is still unstable/hidden.
…tt,Urgau

Ensure that restriction paths are ancestors

fix: rust-lang#160873

This PR moves the check that `impl` and `mut` restriction paths resolve to ancestor modules from `rustc_resolve` to `rustc_ast_lowering`. This ensures that `RestrictionKind::Restricted` in HIR always refers to an ancestor module.
If a restriction path resolves to a non-ancestor, we emit an error and recover by lowering the restriction as `RestrictionKind::Unrestricted`.

Tracking Issue: rust-lang#105077

r? @Urgau
cc @jhpratt
…ple, r=traviscross

tests/ui/tuple: add annotations for reference rules

Also includes `HELP` checks for add-tuple-within-arguments.rs to make it clear that the referenced rules are being tested
Disable some tests for ohos target

I ran into some test failures when trying to run the full test suite for ohos target.
There're a few more but I'm not certain of those yet.
…bility_fix, r=clarfonthey

Fix improper stability of `Write for Cursor<W: WriteThroughCursor>`

Was already stable when using explicit types (e.g. `Vec<u8>`). `WriteThroughCursor` is still unstable/hidden.

Tracking Issue: rust-lang#154046
Zulip Discussion: [#general > ✔ CI Failure With and Without Stability Attribute](https://rust-lang.zulipchat.com/#narrow/channel/122651-general/topic/.E2.9C.94.20CI.20Failure.20With.20and.20Without.20Stability.20Attribute/with/615974133)

# Description

Fixes an oversight in how the `Write for Cursor<W: WriteThroughCursor>` implementation was written. While `core::io` was unstable, a stability attribute for this implementation was not required. However, once that module is marked as stable (even when `Cursor` and `Write` are not publicly stably exported), a stability attribute is required. Since `Write` and `Cursor` are both stable items (just not stable to access via `core::io`), the implementation must be marked as stable.

While it is possible to use [#[unstable_feature_bound(core_io)]](https://rustc-dev-guide.rust-lang.org/stability.html#unstable_feature_bound) to allow that implementation to be unstable, we do need users to have access to it stably, since it is how implementations such as `Write for Cursor<Vec<u8>>` are accessed. This is also why this implementation is marked as stable since `1.0.0`, since that is the earliest downstream implementation we must permit.

---

## Notes

- No AI tooling of any kind was used during the creation of this PR.
Fix handling of relative paths starting with a dot in bootstrap

We missed this in rust-lang#160855.

Fixes: rust-lang#160968

CC @Zalathar

r? jieyouxu
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 12, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 12, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple-1,aarch64-apple-2,x86_64-mingw-1,i686-msvc-1,i686-msvc-2

@rust-bors

rust-bors Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f211f6a has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 12, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 12, 2026
Rollup of 5 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-1
try-job: aarch64-apple-2
try-job: x86_64-mingw-1
try-job: i686-msvc-1
try-job: i686-msvc-2
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 6106c87 (6106c871391e5eb1f5313cb24877886c21a9d0c4)
Base parent: 793b589 (793b589680f2ad49fab6853e84dbd51c5d84c505)

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 12, 2026
@rust-bors

rust-bors Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 12m 35s
Pushing ab8058a to main...

@rust-bors
rust-bors Bot merged commit ab8058a into rust-lang:main Aug 12, 2026
15 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Aug 12, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160900 Ensure that restriction paths are ancestors b425b3e4aa4ba6ce35120fe11591b8e9adb62a10 (link)
#155846 tests/ui/tuple: add annotations for reference rules 56cb0a85b708bf85dd1ec2e20413588d624c96d6 (link)
#160890 Disable some tests for ohos target 9b5adcc7701f28dc954858e887a2dbe3fefc390e (link)
#160952 Fix improper stability of `Write for Cursor<W: WriteThrough… 4bd7116a796a6fee93f33029f5ab60224fc501da (link)
#160970 Fix handling of relative paths starting with a dot in boots… 0cfc2d2c8de4cfc600be8b6ccb7c473738ee2c74 (link)

previous master: 41fb9d4587

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 41fb9d4 (parent) -> ab8058a (this PR)

Test differences

Show 18 test diffs

Stage 0

  • core::builder::cli_paths::tests::x_test_tests_ui_dot_prefix: [missing] -> pass (J2)

Stage 1

  • [ui] tests/ui/mut-restriction/stricter-of-non-ancestor-160873.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/mut-restriction/stricter-of-non-ancestor-160873.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/mut-restriction/stricter-of-non-ancestor-160873.rs: [missing] -> pass (J3)

Additionally, 14 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard ab8058aa09e8c14b86b3d06c08ade66f863d22fe --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-gnu-stdlib-semver-check: 5m 23s -> 11m 7s (+106.4%)
  2. x86_64-gnu-gcc-core-tests: 8m 8s -> 13m 30s (+65.8%)
  3. test-various: 1h 29m -> 2h 12m (+47.2%)
  4. x86_64-gnu-llvm-21: 36m 3s -> 50m 20s (+39.6%)
  5. x86_64-gnu-aux: 2h 23m -> 1h 26m (-39.5%)
  6. x86_64-msvc-ext3: 1h 4m -> 1h 30m (+38.9%)
  7. dist-riscv64-linux-gnu: 1h -> 1h 23m (+38.7%)
  8. dist-x86_64-msvc-alt: 2h 5m -> 2h 52m (+37.1%)
  9. x86_64-gnu-parallel-frontend: 1h 33m -> 2h 2m (+31.2%)
  10. dist-i686-mingw: 2h 6m -> 2h 45m (+30.9%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (ab8058a): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.2% [0.2%, 0.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.6%, secondary -0.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.9% [0.4%, 1.8%] 7
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
-1.9% [-7.1%, -0.4%] 7
All ❌✅ (primary) -2.6% [-2.6%, -2.6%] 1

Cycles

Results (primary 0.4%, secondary -0.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
3.4% [3.4%, 3.4%] 1
Regressions ❌
(secondary)
0.8% [0.4%, 1.3%] 6
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
-1.1% [-3.0%, -0.5%] 20
All ❌✅ (primary) 0.4% [-2.6%, 3.4%] 2

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 455.63s -> 478.868s (5.10%)
Artifact size: 396.47 MiB -> 396.45 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants