Skip to content
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

Rollup of 8 pull requests #137199

Closed
wants to merge 27 commits into from
Closed

Conversation

Zalathar
Copy link
Contributor

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

calder and others added 27 commits February 14, 2025 07:29
…l` field in `LayoutData`.

Also update comments that refered to BackendRepr::Uninhabited.
Add codegen test for uninhabited PassMode::Indirect return types.
* Order items as the average of the two adaptors. Enables easier diffs.
* Consistently apply #[inline].
* Implement FromInner<Vec<u8>> for bytes::Buf.
* Implement Clone::clone_from for wtf8::Buf.
This was left to only warn in the current crate to give users
a chance to update their code. Now for 1.86 we also warn users
depending on those crates.
Continuing the work started in rust-lang#136466.

Every method gains a `hir_` prefix, though for the ones that already
have a `par_` or `try_par_` prefix I added the `hir_` after that.
Co-authored-by: Jubilee <workingjubilee@gmail.com>
…in-deps, r=compiler-errors,traviscross

Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies

Tracking issue: rust-lang#130260

As discussed [in the previous PR](https://github.com/rust-lang/rust/pull/128784/files#r1752533758) now the future incompatibility warning is enabled in dependencies.

The warning was added in 1.83, while this change will get into stable in 1.86, which gives crate authors three versions to fix the warning.

r? compiler-errors
Expose algebraic floating point intrinsics

# Problem

A stable Rust implementation of a simple dot product is 8x slower than C++ on modern x86-64 CPUs. The root cause is an inability to let the compiler reorder floating point operations for better vectorization.

See https://github.com/calder/dot-bench for benchmarks. Measurements below were performed on a i7-10875H.

### C++: 10us ✅

With Clang 18.1.3 and `-O2 -march=haswell`:
<table>
<tr>
    <th>C++</th>
    <th>Assembly</th>
</tr>
<tr>
<td>
<pre lang="cc">
float dot(float *a, float *b, size_t len) {
    #pragma clang fp reassociate(on)
    float sum = 0.0;
    for (size_t i = 0; i < len; ++i) {
        sum += a[i] * b[i];
    }
    return sum;
}
</pre>
</td>
<td>
<img src="https://github.com/user-attachments/assets/739573c0-380a-4d84-9fd9-141343ce7e68" />
</td>
</tr>
</table>

### Nightly Rust: 10us ✅

With rustc 1.86.0-nightly (8239a37) and `-C opt-level=3 -C target-feature=+avx2,+fma`:
<table>
<tr>
    <th>Rust</th>
    <th>Assembly</th>
</tr>
<tr>
<td>
<pre lang="rust">
fn dot(a: &[f32], b: &[f32]) -> f32 {
    let mut sum = 0.0;
    for i in 0..a.len() {
        sum = fadd_algebraic(sum, fmul_algebraic(a[i], b[i]));
    }
    sum
}
</pre>
</td>
<td>
<img src="https://github.com/user-attachments/assets/9dcf953a-2cd7-42f3-bc34-7117de4c5fb9" />
</td>
</tr>
</table>

### Stable Rust: 84us ❌

With rustc 1.84.1 (e71f9a9) and `-C opt-level=3 -C target-feature=+avx2,+fma`:
<table>
<tr>
    <th>Rust</th>
    <th>Assembly</th>
</tr>
<tr>
<td>
<pre lang="rust">
fn dot(a: &[f32], b: &[f32]) -> f32 {
    let mut sum = 0.0;
    for i in 0..a.len() {
        sum += a[i] * b[i];
    }
    sum
}
</pre>
</td>
<td>
<img src="https://github.com/user-attachments/assets/936a1f7e-33e4-4ff8-a732-c3cdfe068dca" />
</td>
</tr>
</table>

# Proposed Change

Add `core::intrinsics::f*_algebraic` wrappers to `f16`, `f32`, `f64`, and `f128` gated on a new `float_algebraic` feature.

# Alternatives Considered

rust-lang#21690 has a lot of good discussion of various options for supporting fast math in Rust, but is still open a decade later because any choice that opts in more than individual operations is ultimately contrary to Rust's design principles.

In the mean time, processors have evolved and we're leaving major performance on the table by not supporting vectorization. We shouldn't make users choose between an unstable compiler and an 8x performance hit.

# References

* rust-lang#21690
* rust-lang/libs-team#532
* rust-lang#136469
* https://github.com/calder/dot-bench
* https://www.felixcloutier.com/x86/vfmadd132ps:vfmadd213ps:vfmadd231ps
…bited, r=workingjubilee

Do not ignore uninhabited types for function-call ABI purposes. (Remove BackendRepr::Uninhabited)

Accepted MCP: rust-lang/compiler-team#832

Fixes rust-lang#135802

Do not consider the inhabitedness of a type for function call ABI purposes.

* Remove the [`rustc_abi::BackendRepr::Uninhabited`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_abi/enum.BackendRepr.html) variant
  * Instead calculate the `BackendRepr` of uninhabited types "normally" (as though they were not uninhabited "at the top level", but still considering inhabitedness of variants to determine enum layout, etc)
* Add an `uninhabited: bool` field to [`rustc_abi::LayoutData`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_abi/struct.LayoutData.html) so inhabitedness of a `LayoutData` can still be queried when necessary (e.g. when determining if an enum variant needs a tag value allocated to it).

This should not affect type layouts (size/align/field offset); this should only affect function call ABI, and only of uninhabited types.

cc `@RalfJung`
…tem-bounds, r=lcnr

Deeply normalize item bounds in new solver

Built on rust-lang#136863.

Fixes rust-lang/trait-system-refactor-initiative#142.
Fixes rust-lang/trait-system-refactor-initiative#151.

cc rust-lang/trait-system-refactor-initiative#116

First commit reworks candidate preference for projection bounds to prefer param-env projection clauses even if the corresponding trait ref doesn't come from the param-env.

Second commit adjusts the associated type item bounds check to deeply normalize in the new solver. This causes some test fallout which I will point out.

r? lcnr
…kingjubilee

Install more signal stack trace handlers

This PR install the signal stack handler to more signals (`SIGILL`, ~~`SIGTRAP`~~, ~~`SIGABRT`~~, ~~`SIGFPE`~~, `SIGBUS`, ~~`SIGQUIT`~~).

Noticed in rust-lang#137138 that we didn't print anything for `SIGILL`, so I though we could just handle more signals.

r? `@workingjubilee` since you last touched it
…Denton

Organize `OsString`/`OsStr` shims

Synchronize the `bytes.rs` and `wtf8.rs` shims for `OsString`/`OsStr` so they're easier to diff between each other. This is mostly ordering items the same between the two. I tried to minimize moves and went for the average locations between the files.

With them in the same order, it is clear that `FromInner<_>` is not implemented for `bytes::Buf` and `Clone::clone_from` is not implemented for `wtf8::Buf`, but they are for the other. Fix that.

I added #[inline] to all inherent methods of the `OsString`/`OsStr` shims, because it seemed that was already the rough pattern. `bytes.rs` has more inlining than `wtf8.rs`, so I added the corresponding ones to `wtf8.rs`. Then, the common missing ones have no discernible pattern to me. They're not divided by non-allocating/allocating. Perhaps the pattern is that UTF-8 validation isn't inlined? Since these types are merely the inner values in `OsStr`/`OsString`, I put inline on all methods and let those public types dictate inlining. I have not inspected codegen or run benchmarks.

Also, touch up some (private) documentation comments.

r? `@ChrisDenton`
…or-macros, r=Nadrieril

Pattern Migration 2024: fix incorrect messages/suggestions when errors arise in macro expansions

See the diff between the two commits for how this affected the error message and suggestion. In order to decide how to format those, the pattern migration diagnostic keeps track of which parts of the user's pattern cause problems in Edition 2024. However, it neglected to do some of this bookkeeping when pointing to macro expansion sites. This fixes that.
Move methods from `Map` to `TyCtxt`, part 2.

Continuing the work started in rust-lang#136466.

Every method gains a `hir_` prefix, though for the ones that already have a `par_` or `try_par_` prefix I added the `hir_` after that.

r? Zalathar
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 18, 2025
@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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Feb 18, 2025
@Zalathar
Copy link
Contributor Author

Opportunistic rollup so that #137162 doesn't jump the queue on its own.

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Feb 18, 2025

📌 Commit 2807d0a has been approved by Zalathar

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 Feb 18, 2025
@bors
Copy link
Contributor

bors commented Feb 18, 2025

⌛ Testing commit 2807d0a with merge 54f47f8...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 18, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#135767 (Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies)
 - rust-lang#136457 (Expose algebraic floating point intrinsics)
 - rust-lang#136985 (Do not ignore uninhabited types for function-call ABI purposes. (Remove BackendRepr::Uninhabited))
 - rust-lang#137000 (Deeply normalize item bounds in new solver)
 - rust-lang#137151 (Install more signal stack trace handlers)
 - rust-lang#137155 (Organize `OsString`/`OsStr` shims)
 - rust-lang#137161 (Pattern Migration 2024: fix incorrect messages/suggestions when errors arise in macro expansions)
 - rust-lang#137162 (Move methods from `Map` to `TyCtxt`, part 2.)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-nopt failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [codegen] tests/codegen/zip.rs ... ok

failures:

---- [codegen] tests/codegen/float/algebraic.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll" "/checkout/tests/codegen/float/algebraic.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
--- stderr -------------------------------
/checkout/tests/codegen/float/algebraic.rs:11:12: error: CHECK: expected string not found in input
 // CHECK: fadd reassoc nsz arcp contract half {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:227:31: note: scanning from here
define half @f16_algebraic_add(half %a, half %b) unnamed_addr #1 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:230:66: note: possible intended match here
 %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_add17hc57c98c071342ed4E"(half %a, half %b)
                                                                 ^
/checkout/tests/codegen/float/algebraic.rs:18:12: error: CHECK: expected string not found in input
 // CHECK: fsub reassoc nsz arcp contract half %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:235:31: note: scanning from here
define half @f16_algebraic_sub(half %a, half %b) unnamed_addr #1 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:238:77: note: possible intended match here
 %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_sub17hfbccf311219d9a48E"(half %a, half %b)
                                                                            ^
/checkout/tests/codegen/float/algebraic.rs:25:12: error: CHECK: expected string not found in input
 // CHECK: fmul reassoc nsz arcp contract half {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:243:31: note: scanning from here
define half @f16_algebraic_mul(half %a, half %b) unnamed_addr #1 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:246:66: note: possible intended match here
 %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_mul17h4218be5e5c5d7c70E"(half %a, half %b)
                                                                 ^
/checkout/tests/codegen/float/algebraic.rs:32:12: error: CHECK: expected string not found in input
 // CHECK: fdiv reassoc nsz arcp contract half %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:251:31: note: scanning from here
define half @f16_algebraic_div(half %a, half %b) unnamed_addr #1 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:254:86: note: possible intended match here
 %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_div17hb1a14005cc884f73E"(half %a, half %b)
                                                                                     ^
/checkout/tests/codegen/float/algebraic.rs:39:12: error: CHECK: expected string not found in input
 // CHECK: frem reassoc nsz arcp contract half %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:259:31: note: scanning from here
define half @f16_algebraic_rem(half %a, half %b) unnamed_addr #1 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:262:61: note: possible intended match here
 %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_rem17h844e025c2e5a2427E"(half %a, half %b)
                                                            ^
/checkout/tests/codegen/float/algebraic.rs:46:12: error: CHECK: expected string not found in input
 // CHECK: fadd reassoc nsz arcp contract float {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:267:32: note: scanning from here
define float @f32_algebraic_add(float %a, float %b) unnamed_addr #1 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:270:67: note: possible intended match here
 %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_add17h293a3da2b60064b3E"(float %a, float %b)
                                                                  ^
/checkout/tests/codegen/float/algebraic.rs:53:12: error: CHECK: expected string not found in input
 // CHECK: fsub reassoc nsz arcp contract float %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:275:32: note: scanning from here
define float @f32_algebraic_sub(float %a, float %b) unnamed_addr #1 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:278:85: note: possible intended match here
 %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_sub17h4546741b830102b6E"(float %a, float %b)
                                                                                    ^
/checkout/tests/codegen/float/algebraic.rs:60:12: error: CHECK: expected string not found in input
 // CHECK: fmul reassoc nsz arcp contract float {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:283:32: note: scanning from here
define float @f32_algebraic_mul(float %a, float %b) unnamed_addr #1 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:286:67: note: possible intended match here
 %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_mul17hf0893b8d561bb84fE"(float %a, float %b)
                                                                  ^
/checkout/tests/codegen/float/algebraic.rs:67:12: error: CHECK: expected string not found in input
 // CHECK: fdiv reassoc nsz arcp contract float %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:291:32: note: scanning from here
define float @f32_algebraic_div(float %a, float %b) unnamed_addr #1 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:294:80: note: possible intended match here
 %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_div17h5a7678f99a282a47E"(float %a, float %b)
                                                                               ^
/checkout/tests/codegen/float/algebraic.rs:74:12: error: CHECK: expected string not found in input
 // CHECK: frem reassoc nsz arcp contract float %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:299:32: note: scanning from here
define float @f32_algebraic_rem(float %a, float %b) unnamed_addr #1 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:302:62: note: possible intended match here
 %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_rem17hfbac58dc26c8cf11E"(float %a, float %b)
                                                             ^
/checkout/tests/codegen/float/algebraic.rs:81:12: error: CHECK: expected string not found in input
 // CHECK: fadd reassoc nsz arcp contract double {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:307:33: note: scanning from here
define double @f64_algebraic_add(double %a, double %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:310:68: note: possible intended match here
 %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_add17h39fb661d0ed5616dE"(double %a, double %b)
                                                                   ^
/checkout/tests/codegen/float/algebraic.rs:88:12: error: CHECK: expected string not found in input
 // CHECK: fsub reassoc nsz arcp contract double %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:315:33: note: scanning from here
define double @f64_algebraic_sub(double %a, double %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:318:94: note: possible intended match here
 %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_sub17hadd6e1637ab1aeb9E"(double %a, double %b)
                                                                                             ^
/checkout/tests/codegen/float/algebraic.rs:95:12: error: CHECK: expected string not found in input
 // CHECK: fmul reassoc nsz arcp contract double {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:323:33: note: scanning from here
define double @f64_algebraic_mul(double %a, double %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:326:68: note: possible intended match here
 %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_mul17hb4d8a2aca92c6e6cE"(double %a, double %b)
                                                                   ^
/checkout/tests/codegen/float/algebraic.rs:102:12: error: CHECK: expected string not found in input
 // CHECK: fdiv reassoc nsz arcp contract double %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:331:33: note: scanning from here
define double @f64_algebraic_div(double %a, double %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:334:87: note: possible intended match here
 %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_div17h32a66a945653ffeaE"(double %a, double %b)
                                                                                      ^
/checkout/tests/codegen/float/algebraic.rs:109:12: error: CHECK: expected string not found in input
 // CHECK: frem reassoc nsz arcp contract double %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:339:33: note: scanning from here
define double @f64_algebraic_rem(double %a, double %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:342:63: note: possible intended match here
 %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_rem17hc9c7a64258021314E"(double %a, double %b)
                                                              ^
/checkout/tests/codegen/float/algebraic.rs:116:12: error: CHECK: expected string not found in input
 // CHECK: fadd reassoc nsz arcp contract fp128 {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:347:33: note: scanning from here
define fp128 @f128_algebraic_add(fp128 %a, fp128 %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:350:69: note: possible intended match here
 %_0 = call fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_add17h8c676017ac5cbea2E"(fp128 %a, fp128 %b)
                                                                    ^
/checkout/tests/codegen/float/algebraic.rs:123:12: error: CHECK: expected string not found in input
 // CHECK: fsub reassoc nsz arcp contract fp128 %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:355:33: note: scanning from here
define fp128 @f128_algebraic_sub(fp128 %a, fp128 %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:358:84: note: possible intended match here
 %_0 = call fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_sub17h013bb55c22db5cc2E"(fp128 %a, fp128 %b)
                                                                                   ^
/checkout/tests/codegen/float/algebraic.rs:130:12: error: CHECK: expected string not found in input
 // CHECK: fmul reassoc nsz arcp contract fp128 {{(%a, %b)|(%b, %a)}}
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:363:33: note: scanning from here
define fp128 @f128_algebraic_mul(fp128 %a, fp128 %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:366:69: note: possible intended match here
 %_0 = call fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_mul17hf7f60082cfe736c5E"(fp128 %a, fp128 %b)
                                                                    ^
/checkout/tests/codegen/float/algebraic.rs:137:12: error: CHECK: expected string not found in input
 // CHECK: fdiv reassoc nsz arcp contract fp128 %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:371:33: note: scanning from here
define fp128 @f128_algebraic_div(fp128 %a, fp128 %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:374:79: note: possible intended match here
 %_0 = call fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_div17hcf83df08dd4ddc98E"(fp128 %a, fp128 %b)
                                                                              ^
/checkout/tests/codegen/float/algebraic.rs:144:12: error: CHECK: expected string not found in input
 // CHECK: frem reassoc nsz arcp contract fp128 %a, %b
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:379:33: note: scanning from here
define fp128 @f128_algebraic_rem(fp128 %a, fp128 %b) unnamed_addr #1 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll:382:84: note: possible intended match here
 %_0 = call fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_rem17h3b9e955bfad6c028E"(fp128 %a, fp128 %b)


Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/float/algebraic/algebraic.ll
Check file: /checkout/tests/codegen/float/algebraic.rs

-dump-input=help explains the following input dump.
Input was:
<<<<<<
             .
             .
             .
             .
           127: ; core::f64::<impl f64>::algebraic_div 
           128: ; Function Attrs: inlinehint nonlazybind uwtable 
           129: define internal double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_div17h32a66a945653ffeaE"(double %self, double %rhs) unnamed_addr #0 { 
           131:  %0 = alloca [8 x i8], align 8 
           131:  %0 = alloca [8 x i8], align 8 
           132:  %1 = fdiv reassoc nsz arcp contract double %self, %rhs 
           133:  store double %1, ptr %0, align 8 
           134:  %_0 = load double, ptr %0, align 8 
           135:  ret double %_0 
           136: } 
           137:  
           138: ; core::f64::<impl f64>::algebraic_mul 
           139: ; Function Attrs: inlinehint nonlazybind uwtable 
           140: define internal double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_mul17hb4d8a2aca92c6e6cE"(double %self, double %rhs) unnamed_addr #0 { 
           142:  %0 = alloca [8 x i8], align 8 
           142:  %0 = alloca [8 x i8], align 8 
           143:  %1 = fmul reassoc nsz arcp contract double %self, %rhs 
           144:  store double %1, ptr %0, align 8 
           145:  %_0 = load double, ptr %0, align 8 
           146:  ret double %_0 
           147: } 
           148:  
           149: ; core::f64::<impl f64>::algebraic_rem 
           150: ; Function Attrs: inlinehint nonlazybind uwtable 
           151: define internal double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_rem17hc9c7a64258021314E"(double %self, double %rhs) unnamed_addr #0 { 
           153:  %0 = alloca [8 x i8], align 8 
           153:  %0 = alloca [8 x i8], align 8 
           154:  %1 = frem reassoc nsz arcp contract double %self, %rhs 
           155:  store double %1, ptr %0, align 8 
           156:  %_0 = load double, ptr %0, align 8 
           157:  ret double %_0 
           158: } 
           159:  
           160: ; core::f64::<impl f64>::algebraic_sub 
           161: ; Function Attrs: inlinehint nonlazybind uwtable 
           162: define internal double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_sub17hadd6e1637ab1aeb9E"(double %self, double %rhs) unnamed_addr #0 { 
           164:  %0 = alloca [8 x i8], align 8 
           164:  %0 = alloca [8 x i8], align 8 
           165:  %1 = fsub reassoc nsz arcp contract double %self, %rhs 
           166:  store double %1, ptr %0, align 8 
           167:  %_0 = load double, ptr %0, align 8 
           168:  ret double %_0 
           169: } 
           170:  
           171: ; core::f128::<impl f128>::algebraic_add 
           172: ; Function Attrs: inlinehint nonlazybind uwtable 
           173: define internal fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_add17h8c676017ac5cbea2E"(fp128 %self, fp128 %rhs) unnamed_addr #0 { 
           175:  %0 = alloca [16 x i8], align 16 
           175:  %0 = alloca [16 x i8], align 16 
           176:  %1 = fadd reassoc nsz arcp contract fp128 %self, %rhs 
           177:  store fp128 %1, ptr %0, align 16 
           178:  %_0 = load fp128, ptr %0, align 16 
           179:  ret fp128 %_0 
           180: } 
           181:  
           182: ; core::f128::<impl f128>::algebraic_div 
           183: ; Function Attrs: inlinehint nonlazybind uwtable 
           184: define internal fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_div17hcf83df08dd4ddc98E"(fp128 %self, fp128 %rhs) unnamed_addr #0 { 
           186:  %0 = alloca [16 x i8], align 16 
           186:  %0 = alloca [16 x i8], align 16 
           187:  %1 = fdiv reassoc nsz arcp contract fp128 %self, %rhs 
           188:  store fp128 %1, ptr %0, align 16 
           189:  %_0 = load fp128, ptr %0, align 16 
           190:  ret fp128 %_0 
           191: } 
           192:  
           193: ; core::f128::<impl f128>::algebraic_mul 
           194: ; Function Attrs: inlinehint nonlazybind uwtable 
           195: define internal fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_mul17hf7f60082cfe736c5E"(fp128 %self, fp128 %rhs) unnamed_addr #0 { 
           197:  %0 = alloca [16 x i8], align 16 
           197:  %0 = alloca [16 x i8], align 16 
           198:  %1 = fmul reassoc nsz arcp contract fp128 %self, %rhs 
           199:  store fp128 %1, ptr %0, align 16 
           200:  %_0 = load fp128, ptr %0, align 16 
           201:  ret fp128 %_0 
           202: } 
           203:  
           204: ; core::f128::<impl f128>::algebraic_rem 
           205: ; Function Attrs: inlinehint nonlazybind uwtable 
           206: define internal fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_rem17h3b9e955bfad6c028E"(fp128 %self, fp128 %rhs) unnamed_addr #0 { 
           208:  %0 = alloca [16 x i8], align 16 
           208:  %0 = alloca [16 x i8], align 16 
           209:  %1 = frem reassoc nsz arcp contract fp128 %self, %rhs 
           210:  store fp128 %1, ptr %0, align 16 
           211:  %_0 = load fp128, ptr %0, align 16 
           212:  ret fp128 %_0 
           213: } 
           214:  
           215: ; core::f128::<impl f128>::algebraic_sub 
           216: ; Function Attrs: inlinehint nonlazybind uwtable 
           217: define internal fp128 @"_ZN4core4f12822_$LT$impl$u20$f128$GT$13algebraic_sub17h013bb55c22db5cc2E"(fp128 %self, fp128 %rhs) unnamed_addr #0 { 
           219:  %0 = alloca [16 x i8], align 16 
           219:  %0 = alloca [16 x i8], align 16 
           220:  %1 = fsub reassoc nsz arcp contract fp128 %self, %rhs 
           221:  store fp128 %1, ptr %0, align 16 
           222:  %_0 = load fp128, ptr %0, align 16 
           223:  ret fp128 %_0 
           224: } 
           225:  
           226: ; Function Attrs: nonlazybind uwtable 
           227: define half @f16_algebraic_add(half %a, half %b) unnamed_addr #1 { 
check:11'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'0      ~~~~~~~
check:11'0      ~~~~~~~
           229: ; call core::f16::<impl f16>::algebraic_add 
check:11'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           230:  %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_add17hc57c98c071342ed4E"(half %a, half %b) 
check:11'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'1                                                                       ?                                            possible intended match
           231:  ret half %_0 
check:11'0      ~~~~~~~~~~~~~~
           232: } 
check:11'0      ~~
check:11'0      ~
check:11'0      ~
           234: ; Function Attrs: nonlazybind uwtable 
check:11'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           235: define half @f16_algebraic_sub(half %a, half %b) unnamed_addr #1 { 
check:11'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:18'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:18'0      ~~~~~~~
check:18'0      ~~~~~~~
           237: ; call core::f16::<impl f16>::algebraic_sub 
check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           238:  %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_sub17hfbccf311219d9a48E"(half %a, half %b) 
check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:18'1                                                                                  ?                                 possible intended match
           239:  ret half %_0 
check:18'0      ~~~~~~~~~~~~~~
           240: } 
check:18'0      ~~
check:18'0      ~
check:18'0      ~
           242: ; Function Attrs: nonlazybind uwtable 
check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           243: define half @f16_algebraic_mul(half %a, half %b) unnamed_addr #1 { 
check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:25'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:25'0      ~~~~~~~
check:25'0      ~~~~~~~
           245: ; call core::f16::<impl f16>::algebraic_mul 
check:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           246:  %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_mul17h4218be5e5c5d7c70E"(half %a, half %b) 
check:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:25'1                                                                       ?                                            possible intended match
           247:  ret half %_0 
check:25'0      ~~~~~~~~~~~~~~
           248: } 
check:25'0      ~~
check:25'0      ~
check:25'0      ~
           250: ; Function Attrs: nonlazybind uwtable 
check:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           251: define half @f16_algebraic_div(half %a, half %b) unnamed_addr #1 { 
check:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:32'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:32'0      ~~~~~~~
check:32'0      ~~~~~~~
           253: ; call core::f16::<impl f16>::algebraic_div 
check:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           254:  %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_div17hb1a14005cc884f73E"(half %a, half %b) 
check:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:32'1                                                                                           ?                        possible intended match
           255:  ret half %_0 
check:32'0      ~~~~~~~~~~~~~~
           256: } 
check:32'0      ~~
check:32'0      ~
check:32'0      ~
           258: ; Function Attrs: nonlazybind uwtable 
check:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           259: define half @f16_algebraic_rem(half %a, half %b) unnamed_addr #1 { 
check:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:39'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:39'0      ~~~~~~~
check:39'0      ~~~~~~~
           261: ; call core::f16::<impl f16>::algebraic_rem 
check:39'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           262:  %_0 = call half @"_ZN4core3f1621_$LT$impl$u20$f16$GT$13algebraic_rem17h844e025c2e5a2427E"(half %a, half %b) 
check:39'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:39'1                                                                  ?                                                 possible intended match
           263:  ret half %_0 
check:39'0      ~~~~~~~~~~~~~~
           264: } 
check:39'0      ~~
check:39'0      ~
check:39'0      ~
           266: ; Function Attrs: nonlazybind uwtable 
check:39'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           267: define float @f32_algebraic_add(float %a, float %b) unnamed_addr #1 { 
check:39'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:46'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:46'0      ~~~~~~~
check:46'0      ~~~~~~~
           269: ; call core::f32::<impl f32>::algebraic_add 
check:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           270:  %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_add17h293a3da2b60064b3E"(float %a, float %b) 
check:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:46'1                                                                        ?                                              possible intended match
           271:  ret float %_0 
check:46'0      ~~~~~~~~~~~~~~~
           272: } 
check:46'0      ~~
check:46'0      ~
check:46'0      ~
           274: ; Function Attrs: nonlazybind uwtable 
check:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           275: define float @f32_algebraic_sub(float %a, float %b) unnamed_addr #1 { 
check:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:53'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:53'0      ~~~~~~~
check:53'0      ~~~~~~~
           277: ; call core::f32::<impl f32>::algebraic_sub 
check:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           278:  %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_sub17h4546741b830102b6E"(float %a, float %b) 
check:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:53'1                                                                                          ?                            possible intended match
           279:  ret float %_0 
check:53'0      ~~~~~~~~~~~~~~~
           280: } 
check:53'0      ~~
check:53'0      ~
check:53'0      ~
           282: ; Function Attrs: nonlazybind uwtable 
check:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           283: define float @f32_algebraic_mul(float %a, float %b) unnamed_addr #1 { 
check:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:60'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:60'0      ~~~~~~~
check:60'0      ~~~~~~~
           285: ; call core::f32::<impl f32>::algebraic_mul 
check:60'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           286:  %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_mul17hf0893b8d561bb84fE"(float %a, float %b) 
check:60'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:60'1                                                                        ?                                              possible intended match
           287:  ret float %_0 
check:60'0      ~~~~~~~~~~~~~~~
           288: } 
check:60'0      ~~
check:60'0      ~
check:60'0      ~
           290: ; Function Attrs: nonlazybind uwtable 
check:60'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           291: define float @f32_algebraic_div(float %a, float %b) unnamed_addr #1 { 
check:60'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:67'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:67'0      ~~~~~~~
check:67'0      ~~~~~~~
           293: ; call core::f32::<impl f32>::algebraic_div 
check:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           294:  %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_div17h5a7678f99a282a47E"(float %a, float %b) 
check:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:67'1                                                                                     ?                                 possible intended match
           295:  ret float %_0 
check:67'0      ~~~~~~~~~~~~~~~
           296: } 
check:67'0      ~~
check:67'0      ~
check:67'0      ~
           298: ; Function Attrs: nonlazybind uwtable 
check:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           299: define float @f32_algebraic_rem(float %a, float %b) unnamed_addr #1 { 
check:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:74'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:74'0      ~~~~~~~
check:74'0      ~~~~~~~
           301: ; call core::f32::<impl f32>::algebraic_rem 
check:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           302:  %_0 = call float @"_ZN4core3f3221_$LT$impl$u20$f32$GT$13algebraic_rem17hfbac58dc26c8cf11E"(float %a, float %b) 
check:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:74'1                                                                   ?                                                   possible intended match
           303:  ret float %_0 
check:74'0      ~~~~~~~~~~~~~~~
           304: } 
check:74'0      ~~
check:74'0      ~
check:74'0      ~
           306: ; Function Attrs: nonlazybind uwtable 
check:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           307: define double @f64_algebraic_add(double %a, double %b) unnamed_addr #1 { 
check:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:81'0                                      X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:81'0      ~~~~~~~
check:81'0      ~~~~~~~
           309: ; call core::f64::<impl f64>::algebraic_add 
check:81'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           310:  %_0 = call double @"_ZN4core3f6421_$LT$impl$u20$f64$GT$13algebraic_add17h39fb661d0ed5616dE"(double %a, double %b) 
check:81'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:81'1                                                                         ?                                                possible intended match
           311:  ret double %_0 
check:81'0      ~~~~~~~~~~~~~~~~
           312: } 
check:81'0      ~~
check:81'0      ~
check:81'0      ~
           314: ; Function Attrs: nonlazybind uwtable 
check:81'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           315: define double @f64_algebraic_sub(double %a, double %b) unnamed_addr #1 { 

@bors
Copy link
Contributor

bors commented Feb 18, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 18, 2025
@Zalathar Zalathar closed this Feb 18, 2025
@Zalathar Zalathar deleted the rollup-18ux22s branch February 18, 2025 04:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend rollup A PR which is a rollup 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. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.