Skip to content

Rollup of 6 pull requests - #144740

Merged
bors merged 16 commits into
rust-lang:masterfrom
jdonszelmann:rollup-nprgqnm
Jul 31, 2025
Merged

Rollup of 6 pull requests#144740
bors merged 16 commits into
rust-lang:masterfrom
jdonszelmann:rollup-nprgqnm

Conversation

@jdonszelmann

@jdonszelmannjdonszelmann commented Jul 31, 2025

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

compiler-errorsand others added 16 commits July 30, 2025 20:30
The macro was uniformed between rustc_const_eval and miri
Otherwise the field would be named "message" by default
There are identical definitions in `rustc_type_ir` and `rustc_ast`. This
commit removes them and places a single definition in `rustc_ast_ir`.
This requires adding `rust_span` as a dependency of `rustc_ast_ir`, but
means a bunch of silly conversion functions can be removed.
The one annoying wrinkle is that the old version had differences in
their `Debug` impls, e.g. one printed `u32` while the other printed
`U32`. Some compiler error messages rely on the former (yuk), and some
clippy output depends on the latter. So the commit also changes clippy
to not rely on `Debug` and just implement what it needs itself.
- Add some missing `tidy-alphabetical-*` markers.
- Remove some unnecessary blank lines.
…RalfJung
Uniform `enter_trace_span!` and add documentation
1. The latest changes to `enter_trace_span!` were ported from Miri (see rust-lang/miri#4452 (comment)), so now both the `rustc_const_eval` and the Miri macro accept the same syntax. Furthermore, the Miri macro was changed to just call rustc_const_eval`'s, to avoid duplication.
2. I made the `layout_of` (& friends) calls use that new syntax, e.g. `enter_trace_span!(layouting::layout_of, ...)`
3. I made sure the macro specifies all types/traits/macros it refers to using `$crate::`, so the macro works anywhere independently of which types/traits/macros are imported in the context it is used in.
4. I added documentation, examples and tips to the macro's doc. To make the rustdoc compile I had to add some hidden lines (`#`), but now it acts as a compilation test which will avoid reintroducing issue 3. in the future. I will also create a documentation file with everything one needs to know about tracing at a later point, but I figured adding some of that info directly on the tracing macro makes it more discoverable.
5. In `stack.rs` I made it so that the `"frame"` span has a field named "frame" (instead of "message") with the data about the frame. This field used to be called "message" (tracing's default) since it was previously formatted using `"{}", instance`, and now I replaced it with `frame = %instance`.
…s-type, r=lcnr
stall `ConstArgHasType` in `compute_goal_fast_path`
I'm having major deja-vu about this; I thought that already implemented this but 🤷 maybe not.
…enkov
Consider operator's span when computing binop expr span
When computing the span of a binop consisting of `lhs` and `rhs`, we previously just took the spans of `lhs.span.to(rhs.span)`. In the case that both `lhs` and `rhs` are both arguments to a macro, this can produce a wildly incorrect span.
To fix this, first compute the span between `lhs` and the binary operator, which will cause `lhs` to possibly be adjusted to a relevant macro metavar, and then compute that span extended to `rhs`, which will cause it to also be adjusted to a relevant macro metavar.
This coincidentally fixes a FIXME in `tests/ui/lint/wide_pointer_comparisons.rs` and suppresses a nonsense suggestion.
Deduplicate `IntTy`/`UintTy`/`FloatTy`.
There are identical definitions in `rustc_type_ir` and `rustc_ast`. This commit removes them and places a single definition in `rustc_ast_ir`. This requires adding `rust_span` as a dependency of `rustc_ast_ir`, but means a bunch of silly conversion functions can be removed.
r? `@fmease`
…ures, r=lcnr
merge rustc_attr_data_structures into rustc_hir
this move was discussed on zulip: [#t-compiler > attribute parsing rework @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/attribute.20parsing.20rework/near/528530091)
Many PRs in the attribute rework depend on this move.
…ompiler-errors
fix: Match width of ascii and unicode secondary file start
The current [unicode secondary file start](https://github.com/rust-lang/rust/blob/64ca23b6235732fa61c0a2b957c5d7e591e7c972/compiler/rustc_errors/src/emitter.rs#L2991) is only three characters, whereas the ASCII variant and normal [file start](https://github.com/rust-lang/rust/blob/64ca23b6235732fa61c0a2b957c5d7e591e7c972/compiler/rustc_errors/src/emitter.rs#L2983-L2984) are four characters. This slight difference caused the paths following a Unicode secondary file start to not align with other structured elements.
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustdoc-json Area: Rustdoc JSON backend PG-exploit-mitigations Project group: Exploit mitigations 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Jul 31, 2025
@jdonszelmann

Copy link
Copy Markdown
ContributorAuthor

@bors r+ rollup=never p=5

@bors

bors commented Jul 31, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit e2ae91b has been approved by jdonszelmann

It is now in the queue for this repository.

@borsbors 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 Jul 31, 2025
@bors

bors commented Jul 31, 2025

Copy link
Copy Markdown
Collaborator

⌛ Testing commit e2ae91b with merge adcb3d3...

@bors

bors commented Jul 31, 2025

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: jdonszelmann
Pushing adcb3d3 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Jul 31, 2025
@bors
bors merged commit adcb3d3 into rust-lang:masterJul 31, 2025
1 check passed
@rustbotrustbot added this to the 1.90.0 milestone Jul 31, 2025
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#144688Uniform enter_trace_span! and add documentation2d40e012d969d60aab6fccba0086f4174439c364 (link)
#144702stall ConstArgHasType in compute_goal_fast_path4b0234e966ecca60d373f2ed9a2fb5d50fce97b3 (link)
#144711Consider operator's span when computing binop expr span05458fb5e0899df5b7184c7716c5c85fa6b2284a (link)
#144712Deduplicate IntTy/UintTy/FloatTy.f05d87ecc6ff3ad07d8047db0aa17772b10de062 (link)
#144726merge rustc_attr_data_structures into rustc_hirbd18227cc55afe709e02109cefe432e5cfe55f72 (link)
#144733fix: Match width of ascii and unicode secondary file startbc678f284139fe029f0a26a6b23872a2dfd61138 (link)

previous master: 3fb1b53a9d

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 3fb1b53 (parent) -> adcb3d3 (this PR)

Test differences

Show 35 test diffs

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

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard adcb3d3b4cd3b7c4cde642f3ed537037f293738e --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. aarch64-apple: 7666.1s -> 4568.7s (-40.4%)
  2. pr-check-2: 2300.6s -> 2845.5s (23.7%)
  3. aarch64-gnu-llvm-19-2: 2282.9s -> 2714.8s (18.9%)
  4. x86_64-gnu-tools: 3390.8s -> 4004.7s (18.1%)
  5. dist-aarch64-apple: 6290.4s -> 5187.9s (-17.5%)
  6. x86_64-apple-1: 9438.7s -> 7959.0s (-15.7%)
  7. x86_64-gnu-llvm-20-1: 3273.1s -> 3784.8s (15.6%)
  8. i686-gnu-2: 5360.3s -> 6137.1s (14.5%)
  9. x86_64-apple-2: 6841.1s -> 5867.8s (-14.2%)
  10. pr-check-1: 1484.7s -> 1695.4s (14.2%)
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 (adcb3d3): 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.

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.1%[0.1%, 0.1%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0

Max RSS (memory usage)

Results (primary -4.2%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-4.2%[-4.2%, -4.2%]1
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-4.2%[-4.2%, -4.2%]1

Cycles

Results (secondary 2.8%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.8%[2.8%, 2.8%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0

Binary size

Results (secondary 0.0%)

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

meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.0%[0.0%, 0.0%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0

Bootstrap: 467.851s -> 468.61s (0.16%)
Artifact size: 376.84 MiB -> 376.82 MiB (-0.00%)

makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
…zelmann
Rollup of 6 pull requests
Successful merges:
- rust-lang#144688 (Uniform `enter_trace_span!` and add documentation)
- rust-lang#144702 (stall `ConstArgHasType` in `compute_goal_fast_path`)
- rust-lang#144711 (Consider operator's span when computing binop expr span)
- rust-lang#144712 (Deduplicate `IntTy`/`UintTy`/`FloatTy`.)
- rust-lang#144726 (merge rustc_attr_data_structures into rustc_hir)
- rust-lang#144733 (fix: Match width of ascii and unicode secondary file start)
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Aug 31, 2026
…zelmann
Rollup of 6 pull requests
Successful merges:
- rust-lang#144688 (Uniform `enter_trace_span!` and add documentation)
- rust-lang#144702 (stall `ConstArgHasType` in `compute_goal_fast_path`)
- rust-lang#144711 (Consider operator's span when computing binop expr span)
- rust-lang#144712 (Deduplicate `IntTy`/`UintTy`/`FloatTy`.)
- rust-lang#144726 (merge rustc_attr_data_structures into rustc_hir)
- rust-lang#144733 (fix: Match width of ascii and unicode secondary file start)
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-metaArea: Issues & PRs about the rust-lang/rust repository itselfA-query-systemArea: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)A-rustdoc-jsonArea: Rustdoc JSON backendmerged-by-borsThis PR was explicitly merged by bors.PG-exploit-mitigationsProject group: Exploit mitigationsrollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-clippyRelevant to the Clippy team.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jdonszelmann@bors@rust-timer@rustbot@compiler-errors@Stypox@nnethercote@Muscraft