Skip to content

Rollup of 21 pull requests - #161906

Merged
rust-bors[bot] merged 51 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-obMe707
Aug 28, 2026
Merged

Rollup of 21 pull requests#161906
rust-bors[bot] merged 51 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-obMe707

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

RalfJung and others added 30 commits August 17, 2026 11:30
... and related machienery
When annotating an item with `#[cfg]` we track both the item that got annotated (with an inert attr) and the names of items that got directly cfg'd out. Extend this mechanism to also work for items within a `cfg_select!`.
Remove trivial bounds

Panic on NaN

Make assert messages consistent with field names

Add clamp_to coretests

Update to fmt style

Use target_has_reliable_fN_math

Change existing clamp tests to use reliable_math

Use reliable_math on doctests too

Add #[expect] for NaN check
This is the normal behavior on other targets, but previously on wasm the
data segment would be in the default section and instead a custom
section with the given name would be added to the wasm module.
…, where the name is ambiguous, make to always

report the `ambiguous_glob_imported_traits` lint independent of the ordering of exports. Added a test to make sure both ordering trigger the lint.
This commit adds the `crt1-reactor.o` object file in the list of
pre-link-crt-objects for the `{Dynamic,Static}Dylib` output kinds for
WASI targets. These previously were omitted I believe by accident and
this means that the conventional `_initialize` function is not present
which runs constructor functions, for example. This is additionally
needed for the upcoming wasip3 target where this startup object file is
more load bearing than it was previously and will become required.
* Implement Reborrow as a recursive operation

If Reborrow finds '&'a mut T' fields then it inserts
a Deref and borrow of the T, and likewise if it finds a
'T: Reborrow' field then the field type is recursed into.

This makes Reborrow always produce the correct borrow checking logic at
the cost of most probably being inconsiderately expensive. The thinking
is that performance will be a followup consideration.
* PhantomDeref
* Simpler deref test

* Add more PhantomDeref unreachability assertions
* Write out lifetime omission
* Document ProjectionElem::PhantomDeref
* Comment half of reborrow tests
* fix PhantomDeref conflicting with AccessDepth::Shallow
* Recheck CoerceShared in borrowck TypeChecker to ensure its lifetimes make sense
* Fix rebase
* Changes... but where to?
* Typo fix

* Improve comment
* Use fully_perform_op to evaluate CoerceShared trait in borrowck
* More CoerceShared comment
* Comment rest of Reborrow tests

Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
@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. 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 Aug 28, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member 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 28, 2026

Copy link
Copy Markdown
Contributor

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

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 28, 2026
Rollup of 21 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

rust-bors Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 16de974 (16de9744df1cbcc5083bc6e81a1e44d0ffcfa9bd)
Base parent: d0f2ef5 (d0f2ef5e53039bd86fdcaa6e71860c4948880e04)

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

rust-bors Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 28m 49s
Pushing 344f790 to main...

@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 c42ac5f (parent) -> 344f790 (this PR)

Test differences

Show 741 test diffs

Stage 1

  • num::floats::clamp_to_max_is_nan::test_f16: [missing] -> pass (J1)
  • num::floats::clamp_to_max_is_nan::test_f32: [missing] -> pass (J1)
  • num::floats::clamp_to_max_is_nan::test_f64: [missing] -> pass (J1)
  • num::floats::clamp_to_min_greater_than_max::test_f16: [missing] -> pass (J1)
  • num::floats::clamp_to_min_greater_than_max::test_f32: [missing] -> pass (J1)
  • num::floats::clamp_to_min_greater_than_max::test_f64: [missing] -> pass (J1)
  • num::floats::clamp_to_min_is_nan::test_f16: [missing] -> pass (J1)
  • num::floats::clamp_to_min_is_nan::test_f32: [missing] -> pass (J1)
  • num::floats::clamp_to_min_is_nan::test_f64: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/issues/option-nonzero-zip-map-flatten-asm-perf-issue-81342.rs: [missing] -> pass (J2)
  • num::floats::clamp_max_is_nan::test_f128: pass -> [missing] (J2)
  • num::floats::clamp_min_greater_than_max::test_f128: pass -> [missing] (J2)
  • num::floats::clamp_min_is_nan::test_f128: pass -> [missing] (J2)
  • [ui] tests/ui/attributes/malformed-never-type-options.rs: pass -> [missing] (J3)
  • [ui] tests/ui/closures/local-type-mismatch-attribution-issue-127048.rs: [missing] -> pass (J3)
  • [ui] tests/ui/comptime/emit-mir.rs: [missing] -> pass (J3)
  • [ui] tests/ui/delegation/default-functions.rs: [missing] -> pass (J3)
  • [ui] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#first: [missing] -> pass (J3)
  • [ui] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#last: [missing] -> pass (J3)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs: [missing] -> pass (J3)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs#never: pass -> [missing] (J3)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs#unit: pass -> [missing] (J3)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs: [missing] -> pass (J3)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs#never: pass -> [missing] (J3)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs#unit: pass -> [missing] (J3)
  • [ui] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict_manual.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_identity.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_mut_field_borrow.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_deref.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_field.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_parallel_field.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_mut_identity.rs: [missing] -> pass (J3)
  • [ui] tests/ui/reborrow/custom_mut_place_conflict_field.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/attributes/malformed-never-type-options.rs: pass -> [missing] (J4)
  • [ui (polonius)] tests/ui/closures/local-type-mismatch-attribution-issue-127048.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/comptime/emit-mir.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/delegation/default-functions.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#first: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#last: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs#unit: pass -> [missing] (J4)
  • [ui (polonius)] tests/ui/never_type/fallback_change/question_mark_from_never.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/never_type/fallback_change/question_mark_from_never.rs#never: pass -> [missing] (J4)
  • [ui (polonius)] tests/ui/never_type/fallback_change/question_mark_from_never.rs#unit: pass -> [missing] (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict_manual.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_identity.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_mut_field_borrow.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_place_conflict.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_place_conflict_deref.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_place_conflict_field.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_marker_place_conflict_parallel_field.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_mut_identity.rs: [missing] -> pass (J4)
  • [ui (polonius)] tests/ui/reborrow/custom_mut_place_conflict_field.rs: [missing] -> pass (J4)
  • num::floats::clamp_to_max_is_nan::test_f128: [missing] -> pass (J8)
  • num::floats::clamp_to_min_greater_than_max::test_f128: [missing] -> pass (J8)
  • num::floats::clamp_to_min_is_nan::test_f128: [missing] -> pass (J8)
  • [codegen] tests/codegen-llvm/wasm_custom_section.rs: [missing] -> pass (J11)
  • [codegen] tests/codegen-llvm/wasm_custom_section.rs: [missing] -> ignore (only executed when the architecture is wasm32) (J12)
  • [rustdoc-html] tests/rustdoc-html/macro-expansion/multiple-items-in-one-macro-call.rs: [missing] -> pass (J12)

Stage 2

  • [ui] tests/ui/attributes/malformed-never-type-options.rs: pass -> [missing] (J0)
  • [ui] tests/ui/closures/local-type-mismatch-attribution-issue-127048.rs: [missing] -> pass (J0)
  • [ui] tests/ui/comptime/emit-mir.rs: [missing] -> pass (J0)
  • [ui] tests/ui/delegation/default-functions.rs: [missing] -> pass (J0)
  • [ui] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#first: [missing] -> pass (J0)
  • [ui] tests/ui/imports/ambiguous-trait-in-scope-and-underscore.rs#last: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/from_infer_breaking_with_unit_fallback.rs#unit: pass -> [missing] (J0)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs: [missing] -> pass (J0)
  • [ui] tests/ui/never_type/fallback_change/question_mark_from_never.rs#never: pass -> [missing] (J0)
  • [ui] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_coerce_shared_move_no_conflict_manual.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_identity.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_mut_field_borrow.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_deref.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_marker_place_conflict_parallel_field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_mut_identity.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_mut_place_conflict.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/custom_mut_place_conflict_field.rs: [missing] -> pass (J0)
  • num::floats::clamp_to_max_is_nan::test_f128: [missing] -> pass (J5)
  • num::floats::clamp_to_min_greater_than_max::test_f128: [missing] -> pass (J5)
  • num::floats::clamp_to_min_is_nan::test_f128: [missing] -> pass (J5)
  • num::floats::clamp_to_max_is_nan::test_f32: [missing] -> pass (J6)
  • num::floats::clamp_to_max_is_nan::test_f64: [missing] -> pass (J6)
  • num::floats::clamp_to_min_greater_than_max::test_f32: [missing] -> pass (J6)
  • num::floats::clamp_to_min_greater_than_max::test_f64: [missing] -> pass (J6)
  • num::floats::clamp_to_min_is_nan::test_f32: [missing] -> pass (J6)
  • num::floats::clamp_to_min_is_nan::test_f64: [missing] -> pass (J6)
  • num::floats::clamp_to_min_greater_than_max::test_f16: [missing] -> pass (J7)
  • num::floats::clamp_to_min_is_nan::test_f16: [missing] -> pass (J7)
  • num::floats::clamp_max_is_nan::test_f128: pass -> [missing] (J9)
  • num::floats::clamp_min_greater_than_max::test_f128: pass -> [missing] (J9)
  • num::floats::clamp_min_is_nan::test_f128: pass -> [missing] (J9)
  • [rustdoc-html] tests/rustdoc-html/macro-expansion/multiple-items-in-one-macro-call.rs: [missing] -> pass (J10)
  • [codegen] tests/codegen-llvm/issues/option-nonzero-zip-map-flatten-asm-perf-issue-81342.rs: [missing] -> pass (J13)
  • [codegen] tests/codegen-llvm/wasm_custom_section.rs: [missing] -> ignore (only executed when the architecture is wasm32) (J13)

(and 6 additional test diffs)

Additionally, 635 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 344f7902949345394fa40a5d7dda31f012ccbc0d --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-gcc-core-tests: 10m -> 17m 50s (+78.3%)
  2. x86_64-rust-for-linux: 37m 19s -> 1h 4m (+73.1%)
  3. x86_64-gnu-stdlib-semver-check: 11m 20s -> 18m 4s (+59.4%)
  4. dist-i686-msvc: 1h 30m -> 2h 15m (+49.1%)
  5. i686-gnu-nopt-1: 1h 38m -> 2h 23m (+45.5%)
  6. x86_64-gnu-llvm-22-1: 55m 14s -> 1h 19m (+44.5%)
  7. dist-x86_64-llvm-mingw: 1h 25m -> 2h 2m (+43.2%)
  8. i686-msvc-2: 2h 8m -> 1h 18m (-39.4%)
  9. x86_64-msvc-ext1: 1h 41m -> 2h 18m (+36.1%)
  10. dist-arm-linux-gnueabi: 1h 9m -> 1h 32m (+34.3%)
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 (344f790): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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.1% [0.1%, 0.1%] 1
Regressions ❌
(secondary)
0.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
-0.4% [-0.5%, -0.4%] 6
Improvements ✅
(secondary)
-0.5% [-0.6%, -0.3%] 2
All ❌✅ (primary) -0.4% [-0.5%, 0.1%] 7

Max RSS (memory usage)

Results (primary 1.6%, secondary -0.2%)

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

mean range count
Regressions ❌
(primary)
1.6% [1.1%, 2.0%] 2
Regressions ❌
(secondary)
4.3% [2.6%, 5.3%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.3% [-8.0%, -1.2%] 9
All ❌✅ (primary) 1.6% [1.1%, 2.0%] 2

Cycles

Results (primary -1.9%, secondary 18.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)
20.6% [2.4%, 33.9%] 10
Improvements ✅
(primary)
-1.9% [-1.9%, -1.9%] 1
Improvements ✅
(secondary)
-2.5% [-2.5%, -2.5%] 1
All ❌✅ (primary) -1.9% [-1.9%, -1.9%] 1

Binary size

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

Bootstrap: 474.678s -> 475.673s (0.21%)
Artifact size: 402.79 MiB -> 403.60 MiB (0.20%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 28, 2026
@rust-bors

rust-bors Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150075 Implement clamp_to f4e2e1726405874a96eb191daba0440f234f4936
(link)
#159103 fix(reborrow): recursive implementation 403270c231bb432af9fd40936edf5f37e8427271
(link)
#160562 add target feature ABI checks for SPARC a9af431ba7b4822040be4af918c55f1ae0bfe7bb
(link)
#160848 std: avoid aliasing violations when wrapping opaque C types b487f6f8f9e74c7d346b1c885cefe59efd6da88b
(link)
#161421 Include startup crt objects on WASI for more outputs fd68d6aa524d029168ce472d68b6bf847770f1a5
(link)
#161805 Prefer ambiguous candidates when deduplicating traits in sc… da81ed8d2258a22fbfae298357b363318c3308b2
(link)
#161862 Put data segment in specified section with link_section on … 4b5dbce9cf7080675b2e69a35d9934db3ca32b12
(link)
#161866 delegation: add tests fixating behavior of delegating to de… 1de0ad42873ffb1c1e926e926bb8760216feff1c
(link)
#157218 Track items behind cfg_select in the same way we do for `… 47836c006f20376d9aee435c34789436501fe438
(link)
#161456 reduce perf impact of scalar size checks cc2e3a10dc042117cecc0c0d38dc62989e39a3e7
(link)
#161528 Add regression test to ensure optimal compilation bd8634c3299d9c1ff3745cd427853f61ede0f95f
(link)
#161666 Print vendor instructions in x vendor 57ca6f444b565b42aae501fdb90a9607d9c7ebb0
(link)
#161730 Improve type mismatch annotation for lets with block-wrappe… 0ecf19fd9168c278bb198c56efe936c6013e3bfa
(link)
#161828 Never type after-stabilization cleanup 22227a61cc909c632be266de94de8cd2e12e274b
(link)
#161859 Do not optimize MIR for comptime ConstFns 4b0ad767a786d8092fa6667a19d5b0e838af76e5
(link)
#161860 atomicptr.rs test: remove unused import 023c6b527e69253a7d5ff57f10a5a44690eb7e50
(link)
#161870 bind to [::1] instead of 127.0.0.1 in documentation example… 1900145bf2642732569e80a87a4dc3f490096a8d
(link)
#161876 rustdoc: Correctly handle when a macro generates multiple i… e4750fecb69e76464c2f2b49d3b5449c612a8d07
(link)
#161889 Add link to ownership section in ptr::read docs 698993c401fb454056744c7c8b7ad17fa3895536
(link)
#161890 rustdoc: some clarifying comments 50f2f55c191d82c71b36fb6febbf9905a8de3830
(link)
#161891 Mark extern_item_impls feature as incomplete 32b32c1f6d164c9b794af1f9746b1e20cca06ced
(link)

parent commit: c42ac5fd59

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

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like perf-regression Performance regression. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. 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. 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.