Skip to content

Rollup of 9 pull requests #139781

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Apr 14, 2025
Merged

Rollup of 9 pull requests #139781

merged 29 commits into from
Apr 14, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Apr 14, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Zoxc and others added 29 commits April 10, 2025 20:59

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
This previously incorrectly returned `true` for parent functions whose
first statement was `let local = <coroutine>;`. While that didn't cause
any bugs as we only ever access `movable_coroutine` for `yield`
terminators. It was still wrong.
…asses applied during shim query
the `no_mangle`, `link_section` and `export_name` attributes are exceptions, and can still be used without an unsafe in earlier editions
Since compiletest already assumes UTF-8 paths and does not try to be
robust against non-UTF-8 paths.
…otations

when possible.
- Show the `#![ ... ]` in the span (to make it clear that it should not
  be included in the CLI argument)
- Show more detailed errors when the crate has valid token trees but
  invalid syntax.
  Previously, `crate-attr=feature(foo),feature(bar)` would just say
  "invalid crate attribute" and point at the comma. Now, it explicitly
  says that the comma was unexpected, which is useful when using
  `--error-format=short`. It also fixes the column to show the correct
  span.
- Recover from parse errors. Previously we would abort immediately on
  syntax errors; now we go on to try and type-check the rest of the
  crate.

The new diagnostic code also happens to be slightly shorter.
…ompiler-errors

Improve `-Z crate-attr` diagnostics

- Show the `#![ ... ]` in the span (to make it clear that it should not
  be included in the CLI argument)
- Show more detailed errors when the crate has valid token trees but
  invalid syntax.
  Previously, `crate-attr=feature(foo),feature(bar)` would just say
  "invalid crate attribute" and point at the comma. Now, it explicitly
  says that the comma was unexpected, which is useful when using
  `--error-format=short`. It also fixes the column to show the correct
  span.
- Recover from parse errors. Previously we would abort immediately on
  syntax errors; now we go on to try and type-check the rest of the
  crate.

The new diagnostic code also happens to be slightly shorter.

r? diagnostics
…er-errors

Encode dep node edge count as u32 instead of usize

This encodes the dep node edge count as u32 instead of usize. It doesn't need to be usize as the count is limited the the unique number of dep nodes which we use a 32-bit index for. It probably saves some branches for encoding / decoding, but it isn't too hot as the count gets packed in with other fields when it's low.

<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th><td align="right">Physical Memory</td><td align="right">Physical Memory</td><td align="right">%</th><td align="right">Committed Memory</td><td align="right">Committed Memory</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check:unchanged</td><td align="right">0.3343s</td><td align="right">0.3343s</td><td align="right"> -0.00%</td><td align="right">97.02 MiB</td><td align="right">96.89 MiB</td><td align="right"> -0.13%</td><td align="right">167.93 MiB</td><td align="right">167.80 MiB</td><td align="right"> -0.08%</td></tr><tr><td>🟣 <b>hyper</b>:check:unchanged</td><td align="right">0.1353s</td><td align="right">0.1350s</td><td align="right"> -0.19%</td><td align="right">61.91 MiB</td><td align="right">61.83 MiB</td><td align="right"> -0.13%</td><td align="right">124.64 MiB</td><td align="right">124.64 MiB</td><td align="right"> 0.00%</td></tr><tr><td>🟣 <b>regex</b>:check:unchanged</td><td align="right">0.2479s</td><td align="right">0.2481s</td><td align="right"> 0.10%</td><td align="right">78.34 MiB</td><td align="right">78.35 MiB</td><td align="right"> 0.02%</td><td align="right">145.20 MiB</td><td align="right">145.31 MiB</td><td align="right"> 0.08%</td></tr><tr><td>🟣 <b>syn</b>:check:unchanged</td><td align="right">0.5347s</td><td align="right">0.5333s</td><td align="right"> -0.26%</td><td align="right">118.63 MiB</td><td align="right">118.66 MiB</td><td align="right"> 0.02%</td><td align="right">193.05 MiB</td><td align="right">193.11 MiB</td><td align="right"> 0.03%</td></tr><tr><td>Total</td><td align="right">1.2521s</td><td align="right">1.2507s</td><td align="right"> -0.11%</td><td align="right">355.90 MiB</td><td align="right">355.74 MiB</td><td align="right"> -0.05%</td><td align="right">630.83 MiB</td><td align="right">630.87 MiB</td><td align="right"> 0.01%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9991s</td><td align="right"> -0.09%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> -0.06%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> 0.01%</td></tr></table>
…compiler-errors

cleanup `mir_borrowck`

Cleanup pulled out of rust-lang#139587. Best reviewed commit by commit.

r? compiler-errors
…obzol

compiletest: consistently use `camino::{Utf8Path,Utf8PathBuf}` throughout

compiletest already practically assumes UTF-8 paths everywhere. Use `camino`'s `{Utf8Path,Utf8PathBuf}` consistently throughout compiletest to enforce UTF-8 path assumptions.

r? ```@Kobzol``` (or compiler/bootstrap)
…se, r=scottmcm

Proactively update coroutine drop shim's phase to account for later passes applied during shim query

See comments in the pass and on test. Also see rust-lang#137264 (comment).

Fixes rust-lang#137243
Fixes rust-lang#139698

r? scottmcm
…er-editions, r=fmease

enforce unsafe attributes in pre-2024 editions by default

New unsafe attributes should emit an error when used without the `unsafe(...)` in all editions.

The `no_mangle`, `link_section` and `export_name` attributes are exceptions, and can still be used without an unsafe in earlier editions. The only attributes for which this change is relevant right now are `#[ffi_const]` and `#[ffi_pure]`.

This change is required for making `#[unsafe(naked)]` sound in pre-2024 editions.
…compiler-errors

Move some things to rustc_type_ir

This moves
- `PatternKind`
- `FlagComputation`
- `TypeWalker`

into rustc_type_ir.

Not strictly required for rust-analyzer next-solve integration, but helps with code duplication.

r? types
UI tests: migrate remaining compile time `error-pattern`s to line annotations when possible

There's a number of cases in which `error-pattern` is still necessary even for compile time checking.
- It checks something that compiler writes directly into stderr as text, and not to the structured json output. This includes some stuff reported during compiler panics, and also diagnostics that happen very early, for example when parsing the command line.
- It checks something that exists only in the full rendered diagnostic test, but not in its structured components, for example code fragments or output of `-Ztrack-diagnostics`. (The latter can probably be converted to structured form though.)

This is continuation of rust-lang#139137.
r? `@jieyouxu`
Switch attrs to `diagnostic::on_unimplemented`

I missed these the last time 😅
@rustbot rustbot added the A-compiletest Area: The compiletest test runner label Apr 14, 2025
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc 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) 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. rollup A PR which is a rollup labels Apr 14, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Apr 14, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 14, 2025

📌 Commit b06f38c has been approved by jhpratt

It is now in the queue for this repository.

@bors bors 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 Apr 14, 2025
@bors
Copy link
Collaborator

bors commented Apr 14, 2025

⌛ Testing commit b06f38c with merge 5961e5b...

@bors
Copy link
Collaborator

bors commented Apr 14, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing 5961e5b to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 14, 2025
@bors bors merged commit 5961e5b into rust-lang:master Apr 14, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone Apr 14, 2025
Copy link

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 f836ae4 (parent) -> 5961e5b (this PR)

Test differences

Show 193 test diffs

Stage 1

  • errors::ad_fallback::verify_builtin_macros_autodiff_not_build_35: [missing] -> pass (J0)
  • errors::ad_fallback::verify_builtin_macros_autodiff_not_build_36: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_34: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_35: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_missing_config_27: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_mode_32: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_mode_33: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_mode_activity_31: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_ret_activity_31: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_ret_activity_32: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_ty_activity_28: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_ty_activity_29: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_unknown_activity_27: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_unknown_activity_28: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_width_33: [missing] -> pass (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_width_34: pass -> [missing] (J0)
  • errors::verify_builtin_macros_alloc_must_statics_25: [missing] -> pass (J0)
  • errors::verify_builtin_macros_alloc_must_statics_26: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_duplicate_arg_75: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_expected_comma_70: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_expected_comma_71: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_expected_other_74: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_expected_other_75: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_expected_string_literal_72: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_explicit_register_name_64: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_mayunwind_80: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_modifier_invalid_68: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_mutually_exclusive_65: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_mutually_exclusive_66: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_no_matched_argument_name_78: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_no_matched_argument_name_79: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_noreturn_77: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_noreturn_78: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_pure_no_output_68: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_sym_no_path_73: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_unsupported_clobber_abi_83: [missing] -> pass (J0)
  • errors::verify_builtin_macros_asm_unsupported_clobber_abi_84: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_unsupported_operand_82: [missing] -> pass (J0)
  • errors::verify_builtin_macros_bad_derive_target_44: [missing] -> pass (J0)
  • errors::verify_builtin_macros_bad_derive_target_45: pass -> [missing] (J0)
  • errors::verify_builtin_macros_bench_sig_25: pass -> [missing] (J0)
  • errors::verify_builtin_macros_cannot_derive_union_52: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_bytes_array_39: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_bytes_array_40: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_bytes_bad_repeat_40: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_bytes_missing_literal_39: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_bytes_non_u8_37: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_bytes_non_u8_38: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_bytes_oob_37: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_idents_ident_args_43: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_idents_ident_args_44: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_idents_missing_args_41: [missing] -> pass (J0)
  • errors::verify_builtin_macros_concat_idents_missing_args_42: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_idents_missing_comma_43: pass -> [missing] (J0)
  • errors::verify_builtin_macros_default_arg_50: [missing] -> pass (J0)
  • errors::verify_builtin_macros_default_arg_51: pass -> [missing] (J0)
  • errors::verify_builtin_macros_derive_path_args_list_47: pass -> [missing] (J0)
  • errors::verify_builtin_macros_derive_path_args_value_47: [missing] -> pass (J0)
  • errors::verify_builtin_macros_derive_path_args_value_48: pass -> [missing] (J0)
  • errors::verify_builtin_macros_env_not_defined_54: [missing] -> pass (J0)
  • errors::verify_builtin_macros_env_not_defined_56: pass -> [missing] (J0)
  • errors::verify_builtin_macros_env_not_unicode_56: [missing] -> pass (J0)
  • errors::verify_builtin_macros_env_not_unicode_57: pass -> [missing] (J0)
  • errors::verify_builtin_macros_env_takes_args_54: pass -> [missing] (J0)
  • errors::verify_builtin_macros_expected_comma_in_list_87: [missing] -> pass (J0)
  • errors::verify_builtin_macros_expected_comma_in_list_88: pass -> [missing] (J0)
  • errors::verify_builtin_macros_expected_register_class_or_explicit_register_86: [missing] -> pass (J0)
  • errors::verify_builtin_macros_expected_register_class_or_explicit_register_87: pass -> [missing] (J0)
  • errors::verify_builtin_macros_format_duplicate_arg_58: [missing] -> pass (J0)
  • errors::verify_builtin_macros_format_duplicate_arg_59: pass -> [missing] (J0)
  • errors::verify_builtin_macros_format_positional_after_named_59: [missing] -> pass (J0)
  • errors::verify_builtin_macros_format_positional_after_named_60: pass -> [missing] (J0)
  • errors::verify_builtin_macros_format_requires_string_58: pass -> [missing] (J0)
  • errors::verify_builtin_macros_format_unused_arg_61: [missing] -> pass (J0)
  • errors::verify_builtin_macros_invalid_crate_attribute_22: pass -> [missing] (J0)
  • errors::verify_builtin_macros_naked_functions_testing_attribute_93: [missing] -> pass (J0)
  • errors::verify_builtin_macros_non_abi_23: pass -> [missing] (J0)
  • errors::verify_builtin_macros_non_exhaustive_default_49: [missing] -> pass (J0)
  • errors::verify_builtin_macros_non_exhaustive_default_50: pass -> [missing] (J0)
  • errors::verify_builtin_macros_non_generic_pointee_94: [missing] -> pass (J0)
  • errors::verify_builtin_macros_non_unit_default_48: [missing] -> pass (J0)
  • errors::verify_builtin_macros_non_unit_default_49: pass -> [missing] (J0)
  • errors::verify_builtin_macros_proc_macro_attribute_only_be_used_on_bare_functions_90: [missing] -> pass (J0)
  • errors::verify_builtin_macros_proc_macro_attribute_only_be_used_on_bare_functions_91: pass -> [missing] (J0)
  • errors::verify_builtin_macros_proc_macro_attribute_only_usable_with_crate_type_92: pass -> [missing] (J0)
  • errors::verify_builtin_macros_source_uitls_expected_item_92: [missing] -> pass (J0)
  • errors::verify_builtin_macros_source_uitls_expected_item_93: pass -> [missing] (J0)
  • errors::verify_builtin_macros_takes_no_arguments_89: [missing] -> pass (J0)
  • errors::verify_builtin_macros_takes_no_arguments_90: pass -> [missing] (J0)
  • errors::verify_builtin_macros_test_bad_fn_64: pass -> [missing] (J0)
  • errors::verify_builtin_macros_test_case_non_item_62: [missing] -> pass (J0)
  • errors::verify_builtin_macros_test_case_non_item_63: pass -> [missing] (J0)
  • errors::verify_builtin_macros_test_runner_invalid_84: [missing] -> pass (J0)
  • errors::verify_builtin_macros_test_runner_invalid_85: pass -> [missing] (J0)
  • errors::verify_builtin_macros_test_runner_nargs_85: [missing] -> pass (J0)
  • errors::verify_builtin_macros_test_runner_nargs_86: pass -> [missing] (J0)
  • errors::verify_builtin_macros_tests_not_support_45: [missing] -> pass (J0)
  • errors::verify_builtin_macros_trace_macros_23: [missing] -> pass (J0)
  • [ui] tests/ui/async-await/post-cleanup-phase-validation.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/async-await/post-cleanup-phase-validation.rs: [missing] -> pass (J2)

(and 49 additional test diffs)

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

Job group index

Job duration changes

  1. dist-x86_64-apple: 8743.1s -> 10770.2s (23.2%)
  2. x86_64-apple-2: 6406.2s -> 5044.6s (-21.3%)
  3. x86_64-apple-1: 8687.7s -> 7102.8s (-18.2%)
  4. x86_64-msvc-ext2: 6110.3s -> 5755.7s (-5.8%)
  5. dist-apple-various: 7268.0s -> 6877.8s (-5.4%)
  6. x86_64-msvc-ext3: 7985.6s -> 7569.2s (-5.2%)
  7. dist-x86_64-mingw: 7847.7s -> 7516.4s (-4.2%)
  8. dist-aarch64-linux: 5225.7s -> 5443.2s (4.2%)
  9. x86_64-gnu-distcheck: 4758.5s -> 4955.5s (4.1%)
  10. dist-armv7-linux: 5598.6s -> 5401.3s (-3.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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#138336 Improve -Z crate-attr diagnostics a6d5564434a5dbd3456d5ac136dd15ef329bfb9e (link)
#139636 Encode dep node edge count as u32 instead of usize eaa5a14ad95e5b8cac360b7cd569ce41eb55871a (link)
#139666 cleanup mir_borrowck 97658583f0407bf41ea883bef8ff7b8b345f41e0 (link)
#139695 compiletest: consistently use `camino::{Utf8Path,Utf8PathBu… 44cdb4dfecc838049d5a324b12484de748d8c36e (link)
#139699 Proactively update coroutine drop shim's phase to account f… d5a9135c9db0d532c49bedcc9581917981e25c28 (link)
#139718 enforce unsafe attributes in pre-2024 editions by default 2eb08587947741dc28a61c2ef571c195fa3b77bb (link)
#139722 Move some things to rustc_type_ir a863c5ccea23afdbdffd31d896b8e9fa94da798d (link)
#139760 UI tests: migrate remaining compile time error-patterns t… e2ccadefc704f6bc5983288bf7c7372d567139b6 (link)
#139776 Switch attrs to diagnostic::on_unimplemented 33c9a81d522701b48ef4fe95be54dc659ba95a1a (link)

previous master: f836ae4e66

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (5961e5b): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.3% [0.3%, 0.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) 0.3% [0.3%, 0.3%] 1

Max RSS (memory usage)

Results (primary 0.7%, secondary 1.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.5% [1.5%, 1.5%] 2
Regressions ❌
(secondary)
3.8% [1.7%, 8.8%] 6
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
-6.0% [-7.2%, -4.9%] 2
All ❌✅ (primary) 0.7% [-0.9%, 1.5%] 3

Cycles

Results (primary 1.4%, secondary -0.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.4% [1.4%, 1.4%] 1
Regressions ❌
(secondary)
2.0% [2.0%, 2.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.9% [-2.9%, -2.9%] 1
All ❌✅ (primary) 1.4% [1.4%, 1.4%] 1

Binary size

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

Bootstrap: 779.942s -> 784.641s (0.60%)
Artifact size: 365.12 MiB -> 365.11 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet