Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

heiher
Copy link
Contributor

@heiher heiher commented Aug 28, 2025

This patch introduces an LSX-optimized version of analyze_source_file for the loongarch64 target. Similar to existing SSE2 implementation for x86, this version:

  • Processes 16-byte chunks at a time using LSX vector intrinsics.
  • Quickly identifies newlines in ASCII-only chunks.
  • Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

@rustbot
Copy link
Collaborator

rustbot commented Aug 28, 2025

r? @jackh726

rustbot has assigned @jackh726.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Aug 28, 2025
@rust-log-analyzer

This comment has been minimized.

@lqd
Copy link
Member

lqd commented Aug 28, 2025

I’m not your reviewer but please add a PR description describing what it’s doing, or what LSX is, to avoid having to infer it from the code, and also why (with some before/after numbers if it’s indeed an optimization like it seems to be)

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 28, 2025
@rustbot
Copy link
Collaborator

rustbot commented Aug 28, 2025

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@rustbot

This comment has been minimized.

@heiher
Copy link
Contributor Author

heiher commented Aug 29, 2025

@rustbot ready r? @lqd

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 29, 2025
@rustbot rustbot assigned lqd and unassigned jackh726 Aug 29, 2025
@bors
Copy link
Collaborator

bors commented Aug 30, 2025

☔ The latest upstream changes (presumably #146023) made this pull request unmergeable. Please resolve the merge conflicts.

@rustbot
Copy link
Collaborator

rustbot commented Aug 30, 2025

This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

for (chunk_index, chunk) in chunks.iter().enumerate() {
let chunk = unsafe { lsx_vld::<0>(chunk.as_ptr() as *const i8) };

// For character in the chunk, see if its byte value is < 0, which
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this is pre-existing from the SSE2 impl, so probably fix it there as well.

Suggested change
// For character in the chunk, see if its byte value is < 0, which
// For each character in the chunk, see if its byte value is < 0, which

}
_ => {
// The target (or compiler version) does not support SSE2 ...
// The target (or compiler version) does not support SSE2/LSX ...
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something like

Suggested change
// The target (or compiler version) does not support SSE2/LSX ...
// The target (or compiler version) does not support vector instructions our specialized implementations need (x86 SSE2, loongarch64 LSX)...

let mut intra_chunk_offset = 0;

for (chunk_index, chunk) in chunks.iter().enumerate() {
let chunk = unsafe { lsx_vld::<0>(chunk.as_ptr() as *const i8) };
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably add a comment about vld not having alignment requirements here?

@lqd
Copy link
Member

lqd commented Sep 2, 2025

Does this yield observable high level gains on the rustc-perf suite?

I don't feel we need a microbenchmark to see how fast the compiler is at recognizing new lines, though it's good to have that data. Thanks for providing it.

I don't know anything about LSX so I may not be a suited reviewer for this, but the implementation matches the SSE2 version very well (to the point of me wondering whether we'll be able to use std::simd one day to remove the duplication; there's only like 3 intrinsics in these functions at most). The intrinsics use seem equivalent to me from docs, and sse to lsx migration guides.

So yeah, this seems good in my uninformed opinion, and we can drop the first commit and fix the couple nits.

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 2, 2025
This patch introduces an LSX-optimized version of `analyze_source_file`
for the `loongarch64` target. Similar to existing SSE2 implementation
for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8
  characters are detected or in the tail portion.
@heiher
Copy link
Contributor Author

heiher commented Sep 2, 2025

Thanks for your review! @rustbot ready

Does this yield observable high level gains on the rustc-perf suite?

I'm not sure, but it's worth checking. I don't know whether rustc-perf is fully usable on LoongArch, or if the overhead changes here would show up in its benchmarks.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 2, 2025
tgross35 added a commit to tgross35/rust that referenced this pull request Sep 3, 2025
Add LSX accelerated implementation for source file analysis

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.
bors added a commit that referenced this pull request Sep 3, 2025
Rollup of 9 pull requests

Successful merges:

 - #143725 (core: add Peekable::next_if_map)
 - #145209 (Stabilize `path_add_extension`)
 - #145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - #145962 (Ensure we emit an allocator shim when only some crate types need one)
 - #145963 (Add LSX accelerated implementation for source file analysis)
 - #146054 (add `#[must_use]` to `array::repeat`)
 - #146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - #146120 (Correct typo in `rustc_errors` comment)
 - #146131 (rustdoc-search: add test case for indexing every item type)

r? `@ghost`
`@rustbot` modify labels: rollup
jhpratt added a commit to jhpratt/rust that referenced this pull request Sep 3, 2025
Add LSX accelerated implementation for source file analysis

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.
bors added a commit that referenced this pull request Sep 3, 2025
Rollup of 15 pull requests

Successful merges:

 - #143725 (core: add Peekable::next_if_map)
 - #145209 (Stabilize `path_add_extension`)
 - #145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - #145962 (Ensure we emit an allocator shim when only some crate types need one)
 - #145963 (Add LSX accelerated implementation for source file analysis)
 - #146054 (add `#[must_use]` to `array::repeat`)
 - #146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - #146120 (Correct typo in `rustc_errors` comment)
 - #146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - #146131 (rustdoc-search: add test case for indexing every item type)
 - #146133 (Revert "Make `lto` and `linker-plugin-lto` work the same for `compiler_builtins`)
 - #146134 (llvm: nvptx: Layout update to match LLVM)
 - #146136 (docs(std): add missing closing code block fences in doc comments)
 - #146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - #146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)

r? `@ghost`
`@rustbot` modify labels: rollup
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 3, 2025
Add LSX accelerated implementation for source file analysis

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.
bors added a commit that referenced this pull request Sep 3, 2025
Rollup of 16 pull requests

Successful merges:

 - #143725 (core: add Peekable::next_if_map)
 - #145209 (Stabilize `path_add_extension`)
 - #145342 (fix drop scope for `super let` bindings within `if let`)
 - #145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - #145962 (Ensure we emit an allocator shim when only some crate types need one)
 - #145963 (Add LSX accelerated implementation for source file analysis)
 - #146054 (add `#[must_use]` to `array::repeat`)
 - #146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - #146120 (Correct typo in `rustc_errors` comment)
 - #146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - #146133 (Revert "Make `lto` and `linker-plugin-lto` work the same for `compiler_builtins`)
 - #146134 (llvm: nvptx: Layout update to match LLVM)
 - #146136 (docs(std): add missing closing code block fences in doc comments)
 - #146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - #146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
 - #146156 (miri subtree update)

r? `@ghost`
`@rustbot` modify labels: rollup
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 4, 2025
Add LSX accelerated implementation for source file analysis

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.
bors added a commit that referenced this pull request Sep 4, 2025
Rollup of 24 pull requests

Successful merges:

 - #140459 (Add `read_buf` equivalents for positioned reads)
 - #143725 (core: add Peekable::next_if_map)
 - #145209 (Stabilize `path_add_extension`)
 - #145342 (fix drop scope for `super let` bindings within `if let`)
 - #145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - #145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const)
 - #145932 (Allow `inline(always)` with a target feature behind a unstable feature `target_feature_inline_always`.)
 - #145962 (Ensure we emit an allocator shim when only some crate types need one)
 - #145963 (Add LSX accelerated implementation for source file analysis)
 - #146054 (add `#[must_use]` to `array::repeat`)
 - #146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - #146112 (don't uppercase error messages)
 - #146120 (Correct typo in `rustc_errors` comment)
 - #146124 (Test `rustc-dev` in `distcheck`)
 - #146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - #146131 (rustdoc-search: add test case for indexing every item type)
 - #146134 (llvm: nvptx: Layout update to match LLVM)
 - #146136 (docs(std): add missing closing code block fences in doc comments)
 - #146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - #146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
 - #146150 (fix(rustdoc): match rustc `--emit` precedence )
 - #146155 (Make bootstrap self test parallel)
 - #146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths)
 - #146172 (triagebot: configure some pings when certain attributes are used)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 2952b99 into rust-lang:master Sep 4, 2025
10 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Sep 4, 2025
rust-timer added a commit that referenced this pull request Sep 4, 2025
Rollup merge of #145963 - heiher:src-analysis-lsx, r=lqd

Add LSX accelerated implementation for source file analysis

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.
@heiher heiher deleted the src-analysis-lsx branch September 5, 2025 01:37
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Sep 5, 2025
Rollup of 24 pull requests

Successful merges:

 - rust-lang/rust#140459 (Add `read_buf` equivalents for positioned reads)
 - rust-lang/rust#143725 (core: add Peekable::next_if_map)
 - rust-lang/rust#145209 (Stabilize `path_add_extension`)
 - rust-lang/rust#145342 (fix drop scope for `super let` bindings within `if let`)
 - rust-lang/rust#145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - rust-lang/rust#145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const)
 - rust-lang/rust#145932 (Allow `inline(always)` with a target feature behind a unstable feature `target_feature_inline_always`.)
 - rust-lang/rust#145962 (Ensure we emit an allocator shim when only some crate types need one)
 - rust-lang/rust#145963 (Add LSX accelerated implementation for source file analysis)
 - rust-lang/rust#146054 (add `#[must_use]` to `array::repeat`)
 - rust-lang/rust#146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - rust-lang/rust#146112 (don't uppercase error messages)
 - rust-lang/rust#146120 (Correct typo in `rustc_errors` comment)
 - rust-lang/rust#146124 (Test `rustc-dev` in `distcheck`)
 - rust-lang/rust#146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - rust-lang/rust#146131 (rustdoc-search: add test case for indexing every item type)
 - rust-lang/rust#146134 (llvm: nvptx: Layout update to match LLVM)
 - rust-lang/rust#146136 (docs(std): add missing closing code block fences in doc comments)
 - rust-lang/rust#146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - rust-lang/rust#146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
 - rust-lang/rust#146150 (fix(rustdoc): match rustc `--emit` precedence )
 - rust-lang/rust#146155 (Make bootstrap self test parallel)
 - rust-lang/rust#146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths)
 - rust-lang/rust#146172 (triagebot: configure some pings when certain attributes are used)

r? `@ghost`
`@rustbot` modify labels: rollup
@Gelbpunkt
Copy link
Contributor

This change seems to cause compile errors for me with HEAD @ bea625f:

error[E0308]: mismatched types
   --> compiler/rustc_span/src/analyze_source_file.rs:189:60
    |
189 |                 let multibyte_mask = lsx_vpickve2gr_w::<0>(multibyte_mask);
    |                                      --------------------- ^^^^^^^^^^^^^^ expected `v4i32`, found `v16i8`
    |                                      |
    |                                      arguments to this function are incorrect
    |
note: function defined here
   --> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/../../stdarch/crates/core_arch/src/loongarch64/lsx/generated.rs:3825:8

error[E0308]: mismatched types
   --> compiler/rustc_span/src/analyze_source_file.rs:198:67
    |
198 |                     let mut newlines_mask = lsx_vpickve2gr_w::<0>(newlines_mask);
    |                                             --------------------- ^^^^^^^^^^^^^ expected `v4i32`, found `v16i8`
    |                                             |
    |                                             arguments to this function are incorrect
    |
note: function defined here
   --> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/../../stdarch/crates/core_arch/src/loongarch64/lsx/generated.rs:3825:8

@heiher
Copy link
Contributor Author

heiher commented Sep 7, 2025

This change seems to cause compile errors for me with HEAD @ bea625f

I’m puzzled why this issue didn’t get caught in CI. More precisely, this patch depends on the compiler after #145042. Both #145042 and the current patch have been merged into the 1.91.0 release line, which seems problematic. Should we delay this patch to the next release instead?

@heiher
Copy link
Contributor Author

heiher commented Sep 7, 2025

I think I've figured out why this issue wasn't caught in CI: LoongArch64, being a cross-compilation target, isn't built with the stage0 compiler. I'm confident this is a real issue in native LoongArch64 builds, so I'll revert it until stage0 is bumped. Sorry for the noise.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Sep 7, 2025
Revert "Add LSX accelerated implementation for source file analysis"

This reverts commit 5b43244 to fix native build failures on LoongArch.

Link: rust-lang#145963 (comment)
Link: rust-lang#145963 (comment)
rust-timer added a commit that referenced this pull request Sep 7, 2025
Rollup merge of #146290 - heiher:r-src-analysis-lsx, r=lqd

Revert "Add LSX accelerated implementation for source file analysis"

This reverts commit 5b43244 to fix native build failures on LoongArch.

Link: #145963 (comment)
Link: #145963 (comment)
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 8, 2025
Rollup of 24 pull requests

Successful merges:

 - rust-lang/rust#140459 (Add `read_buf` equivalents for positioned reads)
 - rust-lang/rust#143725 (core: add Peekable::next_if_map)
 - rust-lang/rust#145209 (Stabilize `path_add_extension`)
 - rust-lang/rust#145342 (fix drop scope for `super let` bindings within `if let`)
 - rust-lang/rust#145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - rust-lang/rust#145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const)
 - rust-lang/rust#145932 (Allow `inline(always)` with a target feature behind a unstable feature `target_feature_inline_always`.)
 - rust-lang/rust#145962 (Ensure we emit an allocator shim when only some crate types need one)
 - rust-lang/rust#145963 (Add LSX accelerated implementation for source file analysis)
 - rust-lang/rust#146054 (add `#[must_use]` to `array::repeat`)
 - rust-lang/rust#146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - rust-lang/rust#146112 (don't uppercase error messages)
 - rust-lang/rust#146120 (Correct typo in `rustc_errors` comment)
 - rust-lang/rust#146124 (Test `rustc-dev` in `distcheck`)
 - rust-lang/rust#146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - rust-lang/rust#146131 (rustdoc-search: add test case for indexing every item type)
 - rust-lang/rust#146134 (llvm: nvptx: Layout update to match LLVM)
 - rust-lang/rust#146136 (docs(std): add missing closing code block fences in doc comments)
 - rust-lang/rust#146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - rust-lang/rust#146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
 - rust-lang/rust#146150 (fix(rustdoc): match rustc `--emit` precedence )
 - rust-lang/rust#146155 (Make bootstrap self test parallel)
 - rust-lang/rust#146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths)
 - rust-lang/rust#146172 (triagebot: configure some pings when certain attributes are used)

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Sep 9, 2025
Rollup of 24 pull requests

Successful merges:

 - rust-lang#140459 (Add `read_buf` equivalents for positioned reads)
 - rust-lang#143725 (core: add Peekable::next_if_map)
 - rust-lang#145209 (Stabilize `path_add_extension`)
 - rust-lang#145342 (fix drop scope for `super let` bindings within `if let`)
 - rust-lang#145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
 - rust-lang#145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const)
 - rust-lang#145932 (Allow `inline(always)` with a target feature behind a unstable feature `target_feature_inline_always`.)
 - rust-lang#145962 (Ensure we emit an allocator shim when only some crate types need one)
 - rust-lang#145963 (Add LSX accelerated implementation for source file analysis)
 - rust-lang#146054 (add `#[must_use]` to `array::repeat`)
 - rust-lang#146090 (Derive `PartialEq` for `InvisibleOrigin`)
 - rust-lang#146112 (don't uppercase error messages)
 - rust-lang#146120 (Correct typo in `rustc_errors` comment)
 - rust-lang#146124 (Test `rustc-dev` in `distcheck`)
 - rust-lang#146127 (Rename `ToolRustc` to `ToolRustcPrivate`)
 - rust-lang#146131 (rustdoc-search: add test case for indexing every item type)
 - rust-lang#146134 (llvm: nvptx: Layout update to match LLVM)
 - rust-lang#146136 (docs(std): add missing closing code block fences in doc comments)
 - rust-lang#146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments)
 - rust-lang#146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
 - rust-lang#146150 (fix(rustdoc): match rustc `--emit` precedence )
 - rust-lang#146155 (Make bootstrap self test parallel)
 - rust-lang#146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths)
 - rust-lang#146172 (triagebot: configure some pings when certain attributes are used)

r? `@ghost`
`@rustbot` modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Sep 28, 2025
Reland "Add LSX accelerated implementation for source file analysis"

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland rust-lang#145963

r? `@lqd`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Sep 28, 2025
Reland "Add LSX accelerated implementation for source file analysis"

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland rust-lang#145963

r? ``@lqd``
rust-timer added a commit that referenced this pull request Sep 28, 2025
Rollup merge of #147113 - heiher:src-analysis-lsx, r=lqd

Reland "Add LSX accelerated implementation for source file analysis"

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland #145963

r? ``@lqd``
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants