Skip to content

Conversation

@fmease
Copy link
Member

@fmease fmease commented Jan 17, 2026

See the descriptions of the added tests for details.

Fixes #131625.
Fixes [after beta-1.93 backport] #149635.
Fixes #150312.

Supersedes #150629 IINM.

CC @cuviper (#149635 (comment))
r? @GuillaumeGomez or @yotamofek (#150629)

@fmease fmease added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 17, 2026
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. labels Jan 17, 2026
@fmease fmease added beta-nominated Nominated for backporting to the compiler in the beta channel. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels Jan 17, 2026
@fmease fmease force-pushed the rustdoc-dont-eval-assoc-consts branch from ab8d394 to 1aacbfc Compare January 17, 2026 00:32
@fmease
Copy link
Member Author

fmease commented Jan 17, 2026

This should theoretically have a positive impact on performance.

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Jan 17, 2026
rustdoc: Stop evaluating associated consts
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 17, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 17, 2026

☀️ Try build successful (CI)
Build commit: 9e129b1 (9e129b1955e6060a281ffcd69c9d4ab002b6384c, parent: f6a07efc81e4b5a9166884f50c2cb1686009c3fd)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (9e129b1): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -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
Improvements ✅
(primary)
-0.3% [-0.3%, -0.2%] 3
Improvements ✅
(secondary)
-29.6% [-29.6%, -29.6%] 1
All ❌✅ (primary) -0.3% [-0.3%, -0.2%] 3

Max RSS (memory usage)

Results (primary -2.2%, 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)
- - 0
Improvements ✅
(primary)
-2.2% [-3.2%, -1.2%] 2
Improvements ✅
(secondary)
-4.8% [-4.8%, -4.8%] 1
All ❌✅ (primary) -2.2% [-3.2%, -1.2%] 2

Cycles

Results (primary -1.5%, secondary -19.1%)

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
Improvements ✅
(primary)
-1.5% [-1.5%, -1.5%] 1
Improvements ✅
(secondary)
-19.1% [-36.2%, -1.9%] 2
All ❌✅ (primary) -1.5% [-1.5%, -1.5%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 472.76s -> 472.975s (0.05%)
Artifact size: 383.52 MiB -> 383.51 MiB (-0.00%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 17, 2026
@fmease fmease force-pushed the rustdoc-dont-eval-assoc-consts branch from 1aacbfc to 1175147 Compare January 17, 2026 09:05
@yotamofek
Copy link
Contributor

Nice! And simple enough to backport :)
r=me once CI is green.

@fmease fmease changed the title rustdoc: Stop evaluating associated consts rustdoc: Stop unconditionally evaluating the initializer of associated consts Jan 17, 2026
@fmease fmease force-pushed the rustdoc-dont-eval-assoc-consts branch from 1175147 to ac8e850 Compare January 17, 2026 11:13
@fmease
Copy link
Member Author

fmease commented Jan 17, 2026

CI was green but I've just force-pushed again to tweak the commit message slightly.

r? yotamofek @bors r=yotamofek

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 17, 2026

📌 Commit ac8e850 has been approved by yotamofek

It is now in the queue for this repository.

@rust-bors rust-bors bot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 17, 2026
@rust-bors rust-bors bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 17, 2026
@fmease
Copy link
Member Author

fmease commented Jan 17, 2026

Beta backport accepted as per #t-rustdoc > beta-nominated: #151232 @ 💬.

@fmease fmease added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jan 17, 2026
@fmease fmease added this to the 1.93.0 milestone Jan 17, 2026
@fmease fmease removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 17, 2026
rust-bors bot pushed a commit that referenced this pull request Jan 17, 2026
…=fmease

[beta] rustdoc: Stop unconditionally evaluating the initializer of associated consts

Last minute beta backport of #151232 ([beta backport accepted](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/beta-nominated.3A.20.23151232/near/568543129)).
Directly fixes #149635.

Not part of some hypothetical future backport rollup because we're under time pressure as the release procedures have commenced already: https://forge.rust-lang.org/#current-release-versions, https://forge.rust-lang.org/release/process.html.

r? fmease
@rust-bors

This comment has been minimized.

@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 Jan 17, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 17, 2026

☀️ Test successful - CI
Approved by: yotamofek
Pushing fe98ddc to main...

@rust-bors rust-bors bot merged commit fe98ddc into rust-lang:main Jan 17, 2026
12 checks passed
@rustbot rustbot modified the milestones: 1.93.0, 1.94.0 Jan 17, 2026
@github-actions
Copy link
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 9f6cd6d (parent) -> fe98ddc (this PR)

Test differences

Show 6 test diffs

Stage 1

  • [rustdoc-html] tests/rustdoc-html/constant/assoc-const-has-projection-ty.rs: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/diverging-assoc-consts.rs: [missing] -> pass (J1)

Stage 2

  • [rustdoc-html] tests/rustdoc-html/constant/assoc-const-has-projection-ty.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/diverging-assoc-consts.rs: [missing] -> pass (J0)

Additionally, 2 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 fe98ddcfcfb6f185dbf4adeaf439d8a756da0273 --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: 7604.5s -> 9471.0s (+24.5%)
  2. dist-aarch64-llvm-mingw: 6698.0s -> 5962.2s (-11.0%)
  3. x86_64-msvc-ext3: 5833.3s -> 6459.0s (+10.7%)
  4. x86_64-gnu-llvm-20-2: 5630.0s -> 5055.2s (-10.2%)
  5. arm-android: 6005.2s -> 5426.5s (-9.6%)
  6. dist-apple-various: 3600.1s -> 3943.8s (+9.5%)
  7. dist-x86_64-apple: 6734.9s -> 7357.9s (+9.3%)
  8. x86_64-rust-for-linux: 2843.9s -> 2583.2s (-9.2%)
  9. dist-s390x-linux: 5209.7s -> 4757.8s (-8.7%)
  10. dist-aarch64-apple: 7561.2s -> 6992.9s (-7.5%)
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
Collaborator

Finished benchmarking commit (fe98ddc): comparison URL.

Overall result: ✅ 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
Improvements ✅
(primary)
-0.3% [-0.4%, -0.3%] 2
Improvements ✅
(secondary)
-14.8% [-29.6%, -0.0%] 2
All ❌✅ (primary) -0.3% [-0.4%, -0.3%] 2

Max RSS (memory usage)

Results (primary -0.9%, secondary -4.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
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
-4.5% [-4.5%, -4.5%] 1
All ❌✅ (primary) -0.9% [-0.9%, -0.9%] 1

Cycles

Results (primary -2.1%, secondary -14.9%)

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
Improvements ✅
(primary)
-2.1% [-2.1%, -2.1%] 2
Improvements ✅
(secondary)
-14.9% [-36.5%, -2.9%] 3
All ❌✅ (primary) -2.1% [-2.1%, -2.1%] 2

Binary size

Results (primary 0.1%, 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.1% [0.0%, 0.1%] 53
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 24
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.0%, 0.1%] 53

Bootstrap: 472.543s -> 473.229s (0.15%)
Artifact size: 383.42 MiB -> 383.52 MiB (0.03%)

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

Labels

beta-accepted Accepted for backporting to the compiler in the beta channel. merged-by-bors This PR was explicitly merged by bors. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Weird representation of trait const of associated type rustdoc panics while documenting panicking associated constant

6 participants