Skip to content

Rollup of 9 pull requests#157109

Closed
JonathanBrouwer wants to merge 28 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-I3kBnQT
Closed

Rollup of 9 pull requests#157109
JonathanBrouwer wants to merge 28 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-I3kBnQT

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

ChrisDenton and others added 28 commits May 28, 2026 13:12
…c-macros, skipping fields based on whether or not they are used in error messages
This makes the proc-macro RPC protocol platform independent as necessary
for running proc macros and rustc on different architectures.
This shrinks the proc-macro ABI a bit. Nothing on the client side needs
to allocate handles. This will share the counters between proc-macros,
which may cause us to run out of handles earlier, but 4 bilion handles
per process is still a lot. Rust-analyzer might run out at some point,
but it can recover by restarting the proc-macro-server, and it could
already run out before this change anyway,
…n()` syntax registrations of it, they are never used
…ochenkov

definitions: remove `DefPathTable`, use `LocalDefId` instead of `DefIndex`

This PR removes `DefPathTable` and uses `LocalDefId` instead of `DefIndex` where possible.

r? @petrochenkov
…, r=petrochenkov

Eagerly resolve delegations in late resolution

This is necessary for allowing the `partial_res_map` to be split by owners. The current logic follows `NodeId` -> `DefId` -> `NodeId` mappings, but the resulting `NodeId` is then not under the same owner, so we can't look it up in the current owner table. After this PR everything is just a `DefId` -> `DefId` mapping, which always works fine.

cc @aerooneqq

r? @petrochenkov
…or, r=petrochenkov

NVPTX: Remove the unstable ptx linker flavor

Remove the ptx linker flavor as specified in [this accepted MCP](rust-lang/compiler-team#990)

Fixes rust-lang#156954

@rustbot label +O-NVPTX
…trochenkov

Various proc-macro related code cleanups

Some are just misc cleanups. Others are to make the proc-macro ABI and RPC interface a bit less target dependent. I've got some local changes that change the ABI to what is effectively a single `&[extern "C" fn(BridgeConfig<'_>) -> Buffer]` export.
…, r=petrochenkov

Some more per owner things

A few easy ones to turn from a global hash table to a hash table (or even a bool) per owner, but still have to check perf first.

r? @petrochenkov
…thanBrouwer

Remove `skip_arg` attribute from `Diagnostic` and `Subdiagnostic` proc-macros

Instead of having users to manually add `#[skip_arg]` for each field that is not used in fluent messages, I think it's better to instead let the proc-macro only call `diag.arg("name", field)` on the fields actually used.

r? @JonathanBrouwer
…r=JonathanBrouwer

Improve suggestions for malformed deprecated attribute

When the deprecated attribute is supplied a single string as an argument, suggest using the NameValueStr syntax.
```
error[E0565]: malformed `deprecated` attribute input
  --> $DIR/deprecation-sanity.rs:24:5
   |
LL |     #[deprecated("test")]
   |     ^^^^^^^^^^^^^------^^
   |                  |
   |                  didn't expect a literal here
   |
help: try using `=` instead
   |
LL -     #[deprecated("test")]
LL +     #[deprecated = "test"]
   |
```
If the string looked like a version (e.g. `"1.2.3"` or `"TBD"`), suggest using the since field instead.
```
error[E0565]: malformed `deprecated` attribute input
  --> $DIR/deprecation-sanity.rs:27:5
   |
LL |     #[deprecated("1.2.3")]
   |     ^^^^^^^^^^^^^-------^^
   |                  |
   |                  didn't expect a literal here
   |
help: try specifying a deprecated since version
   |
LL |     #[deprecated(since = "1.2.3")]
   |                  +++++++
```
…l_tests_1, r=nnethercote

Add reproducibly failing tests for parallel frontend

Some tests keep fail with `--parallel-frontend-threads=n`. This PR marks them for tracking and to filter those out for regular tests of the parallel frontend. There are two new similar categories for test failures: `unstable liveness diagnostics` and `pattern matching error message mismatch`. Both of them appear to be just printed diagnostic inconsistencies.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 29, 2026
@rustbot rustbot added the A-attributes Area: Attributes (`#[…]`, `#![…]`) label May 29, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic 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) labels May 29, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never 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,x86_64-mingw-1,i686-msvc-2

@rustbot rustbot added 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 May 29, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 29, 2026

📌 Commit f45cd5a 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 May 29, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 29, 2026
Rollup of 9 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-2
rust-bors Bot pushed a commit that referenced this pull request May 29, 2026
…uwer

Rollup of 9 pull requests

Successful merges:

 - #156963 (definitions: remove `DefPathTable`, use `LocalDefId` instead of `DefIndex`)
 - #157053 (Eagerly resolve delegations in late resolution)
 - #157068 (NVPTX: Remove the unstable ptx linker flavor)
 - #157076 (Various proc-macro related code cleanups)
 - #157100 (Some more per owner things)
 - #157065 (Stabilize `Path::is_empty`)
 - #157070 (Remove `skip_arg` attribute from `Diagnostic` and `Subdiagnostic` proc-macros)
 - #157088 (Improve suggestions for malformed deprecated attribute)
 - #157103 (Add reproducibly failing tests for parallel frontend)
@rust-bors

This comment has been minimized.

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

rust-bors Bot commented May 29, 2026

💔 Test for d49de3c failed: CI. Failed job:

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 29, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label May 29, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 29, 2026

This pull request was unapproved due to being closed.

@rust-log-analyzer
Copy link
Copy Markdown
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)
================================================================================

/mnt is not a mountpoint
Unable to correct missing packages.
E: Failed to fetch mirror+file:/etc/apt/apt-mirrors.txt/pool/main/o/openjdk-21/openjdk-21-jre-headless_21.0.10%2b7-1%7e24.04_amd64.deb  404  Not Found [IP: 52.252.75.106 80]
E: Unable to correct problems, you have held broken packages.
E: Aborting install.
##[error]Process completed with exit code 100.
##[group]Run echo "disk usage:"
echo "disk usage:"
df -h

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 29, 2026

☀️ Try build successful (CI)
Build commit: f71eb91 (f71eb91255e4b04379ef9f6df23b8b7779968633, parent: b5d1746e7d25465729706ac5a0004b035e219d01)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.