Skip to content

Rollup of 7 pull requests - #163449

Merged
rust-bors[bot] merged 20 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-RD7XqTw
Sep 28, 2026
Merged

rust-bors[bot] merged 20 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-RD7XqTw

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

obeis and others added 20 commits September 17, 2026 05:43
This function is a wrapper around `Symbol::intern`, which is already checked by the `rustc::symbol_intern_string_literal` lint.
remove `MutTy`

This PR removes `ast::MutTy` and `hir::MutTy` and inlines their two fields directly into their corresponding `TypeKind` variants. These types probably made sense in pre-1.0 versions where it still had a syntax-level representation with things like `[mut T]`. Nowadays, it is just a type that is used in some, but not all places to group a type and a mutability together (for example, `rustc_type_ir` does not include such a wrapper). It also has no methods and just makes some match statements more verbose. Removing it makes them more readable.
…coding, r=petrochenkov

Deterministic encoding of `DefPathHashMap`

This PR splits DefPathHashMap into two parts: deterministic (`det_part`) and non-deterministic (`non_det_part`). `det_part` is used while we sure that allocation and insertion order of def ids is deterministic, at the moment of writing it happens before we start parallel checks after prefetch of `hir_crate_items` in `run_required_analysis`. Up until this point of compilation the allocation of def ids and their insertion order into `det_part` should be the same between different compilations.

Next, when non-determinism starts due to parallel compilation we put all mapping between local hash and def ids into a `SortedMap` which gives us ready-to-use sorted by local hash slice of pairs to encode while encoding metadata.

Note, that this PR does not solve the problem of allocation of different def indices to same code entities (meaning same local hash), this problem is solved in rust-lang#162809 by remapping needed local def indices.
Also note that we serialize `det_part` as a raw bytes sequence, so during remapping if we do not place all def indices that are needed to be remapped into separate container we will end up with copying `det_part`, changing some entries in it and then serialize it as a bytes sequence. With the approach in this PR we do not copy and modify `det_part`, instead we do all modifications in `non_det_part`.

r? @petrochenkov
dont store arbitrary parsed attributes in thir

This leads to hard to debug crashes like rust-lang#162811 (comment)

cc @JonathanBrouwer @Bryntet @saethlin
…wer,mejrs

Use attribute parser for `#[inline()]` attribute check

Updates rust-lang#153101

r? @JonathanBrouwer
lint on `Ident::from_str_and_span` taking a string literal

This function is a wrapper around `Symbol::intern`, which is already checked by the `rustc::symbol_intern_string_literal` lint. This PR extends that lint to check `Ident::from_str_and_span` as well and updates all affected calls in the compiler.

I ran into this when trying to replace some `Ident`s with `Symbol`s.
…=folkertdev

Allow `#[repr(simd)]` with `f16b`

Fix to allow us to create structs like;

```rust
pub struct bfloat16x4_t(f16b x 4);
```

r? folkertdev
Support also `try-jobs:` to specify custom try jobs

Suggested by @RalfJung in rust-lang/bors#860.

How to test:
- `cargo test --manifest-path src/ci/citool/Cargo.toml`
- ~~`git diff --check`~~
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 28, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Sep 28, 2026
@rustbot rustbot added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels Sep 28, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

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

@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

📌 Commit c47aa35 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 Sep 28, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 28, 2026
Rollup of 7 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 803f0a1 (803f0a1ba74ce07a01926002b18640708afc69a5)
Base parent: 51c768a (51c768aa5cb99ae7670e97b0e8392f926e79855e)

@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 Sep 28, 2026
@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 2h 55m 7s
Pushing c1070d6 to main...

@rust-bors
rust-bors Bot merged commit c1070d6 into rust-lang:main Sep 28, 2026
15 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Sep 28, 2026
@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 77027b6 (parent) -> c1070d6 (this PR)

Test differences

Show 34 test diffs

Stage 1

  • [ui] tests/ui/parser/f16b-repr-simd.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/parser/f16b-repr-simd.rs: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/parser/f16b-repr-simd.rs: [missing] -> pass (J1)

Additionally, 31 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 c1070d69382b8d2f2eb65119c738a77d9e324c9e --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. dist-x86_64-msvc-alt: 1h 45m -> 2h 51m (+62.0%)
  2. dist-x86_64-llvm-mingw: 1h 21m -> 2h 9m (+60.1%)
  3. test-x86_64-msvc-ext1: 2h 18m -> 1h 19m (-42.5%)
  4. dist-powerpc64-linux-gnu: 1h 4m -> 1h 32m (+42.1%)
  5. test-various: 1h 40m -> 2h 21m (+41.1%)
  6. test-x86_64-gnu-miri: 1h 27m -> 52m 11s (-40.6%)
  7. test-x86_64-gnu-llvm-21-1: 44m 59s -> 1h 1m (+36.3%)
  8. dist-sparcv9-solaris: 1h 11m -> 1h 32m (+28.5%)
  9. test-x86_64-msvc-ext2: 1h 50m -> 1h 19m (-28.1%)
  10. dist-armv7-linux: 1h 33m -> 1h 8m (-26.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 (c1070d6): comparison URL.

Overall result: ❌✅ regressions and improvements - 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.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.6% [-0.8%, -0.3%] 4
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary -3.8%)

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.6% [0.6%, 0.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.0% [-6.7%, -5.3%] 2
All ❌✅ (primary) - - 0

Cycles

Results (secondary 4.8%)

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)
16.8% [16.8%, 16.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-7.2% [-7.2%, -7.2%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.0%, secondary 0.1%)

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

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 20
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.1%] 20

Bootstrap: 490.938s -> 487.231s (-0.76%)
Artifact size: 407.20 MiB -> 406.43 MiB (-0.19%)

@rust-bors

rust-bors Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#163327 remove MutTy 4a2a7f00dc2984f7abeecdb83139c4b497afee7b
(link)
#162910 Deterministic encoding of DefPathHashMap 4e37d54daa2c0ca3ddbe2632d83748ba75e7c13b
(link)
#163009 dont store arbitrary parsed attributes in thir 2e24e9614ac576c707335c074c4aa920dc4a1baf
(link)
#162683 Use attribute parser for #[inline()] attribute check 1cea8c60581aa88ce660707f189a5323f662e080
(link)
#163429 lint on Ident::from_str_and_span taking a string literal e2780b1f3ed749cf0d7a4c8f083f69fad9775bde
(link)
#163431 Allow #[repr(simd)] with f16b 81549255fde8d7717d95db10afbb043befb6a0d3
(link)
#163433 Support also try-jobs: to specify custom try jobs 8efcae89818143e5eb9c53f9a3b75671485c08af
(link)

parent commit: 77027b64d8

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

flip1995 pushed a commit to flip1995/rust that referenced this pull request Oct 1, 2026
…nathanBrouwer

Rollup of 7 pull requests

Successful merges:

 - rust-lang#163327 (remove `MutTy`)
 - rust-lang#162910 (Deterministic encoding of `DefPathHashMap`)
 - rust-lang#163009 (dont store arbitrary parsed attributes in thir)
 - rust-lang#162683 (Use attribute parser for `#[inline()]` attribute check)
 - rust-lang#163429 (lint on `Ident::from_str_and_span` taking a string literal)
 - rust-lang#163431 (Allow `#[repr(simd)]` with `f16b`)
 - rust-lang#163433 (Support also `try-jobs:` to specify custom try jobs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants