Skip to content

Rollup of 15 pull requests - #160947

Closed
JonathanBrouwer wants to merge 40 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-ETRSSOd
Closed

Rollup of 15 pull requests#160947
JonathanBrouwer wants to merge 40 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-ETRSSOd

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Apersoma and others added 30 commits March 19, 2026 01:19
This commit adjusts the changes made in 159733. A wasi-libc bug was
discovered in 160828 which is present in certain situations which means
that the changes in 159733 expose this bug. The purpose of this PR is
to get wasip1/wasip2 targets fixed again while preserving a working
implementation for wasip3. This upstream bug is already fixed in
wasi-libc meaning that this PR won't be necessary once wasi-sdk-34 is
published and used in rust-lang/rust. Until that time, however, this
effectively reverts 159733 for wasip1/wasip2. The wasip3 target is Tier
3 still and requires wasi-sdk-34 anyway which is why that's left
unchanged.

Closes 160828
the previous version, v0.5.0 (from 2018), does not include a
Cargo lockfile which makes the test brittle as bugs and unintentional
breaking changes in any new release of a dependency can make the test fail

the newly chosen version, v0.7.7, includes a Cargo lockfile
This is currently not really implemented, but partial support for it is
added in various places across the tree. This is a patch extracted from
the wider set of work to make review easier, which wires up:

* Unstable flag in rustc
* Bootstrap flag to enable using wasm-proc-macros (this needs an extra
  std compilation, wiring into compiletest)
* Partial compiletest support for the flag (mostly just CLI side of things)
Do not pass `-no-pie` on Windows

The warning can be seen with a simple example:
```
❯ cargo new /tmp/hello -q
❯ cargo rustc --target x86_64-pc-windows-gnullvm -q -- -C target-feature=+crt-static
warning: linker stderr: clang: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
  |
  = note: `#[warn(linker_messages)]` on by default
```
…oboet

Arc: Remove unnecessary fmt::Display use for overflow assertion

- [x] I did not use an LLM to create a change in this PR.
- [ ] I used an LLM to create a change in this PR, and I have explained below how it was used.

This PR removes unnecessary `fmt::Display` generated assembly because of use of formatting in the overflow check assertion(`assert!(n <= MAX_REFCOUNT, "{}", INTERNAL_OVERFLOW_ERROR);`).

This reduces generated x64 assembly for counter increment(simplified) from:
```asm
increase_counter:
        test    rdi, rdi
        js      .LBB1_2
        inc     rdi
        mov     rax, rdi
        ret
.LBB1_2:
        sub     rsp, 24
        lea     rax, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.2]
        mov     qword ptr [rsp + 8], rax
        lea     rax, [rip + <&str as core[4e7ceada952a6ea0]::fmt::Display>::fmt]
        mov     qword ptr [rsp + 16], rax
        lea     rdi, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.0]
        lea     rdx, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.4]
        lea     rsi, [rsp + 8]
        call    qword ptr [rip + core[4e7ceada952a6ea0]::panicking::panic_fmt@GOTPCREL]

.Lanon.642d46026bcfa00bfed8baf8cdbf502d.0:
        .asciz  "\300"

.Lanon.642d46026bcfa00bfed8baf8cdbf502d.1:
        .ascii  "Arc counter overflow"
```

To:
```asm
increase_counter:
        test    rdi, rdi
        js      .LBB0_2
        inc     rdi
        mov     rax, rdi
        ret
.LBB0_2:
        push    rax
        lea     rdi, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.0]
        lea     rdx, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.2]
        mov     esi, 41
        call    qword ptr [rip + core[4e7ceada952a6ea0]::panicking::panic_fmt@GOTPCREL]

.Lanon.642d46026bcfa00bfed8baf8cdbf502d.0:
        .ascii  "Arc counter overflow"
```

Godbolt link:
https://godbolt.org/z/3qjxooYWM

I expect bors to report a binary size reduction for all programs using Arc. There might also be performance improvements as a byproduct of CPU cache hit increase.
Miri: give the incremental session a chance to finish

This helps with rust-lang/miri#5013. Reruns still aren't as fast as I'd like, but using nextest to run libcore tests shows a big difference:
```
before:
 Nextest run ID 56b7b355-6225-4083-96e3-aeeabbe80523 with nextest profile: default-miri
    Starting 10 tests across 2 binaries (2760 tests skipped)
        PASS [  31.264s] coretests::coretests any::any_downcast_mut
        PASS [  31.287s] coretests::coretests any::distinct_type_names
        PASS [  32.747s] coretests::coretests iter::traits::iterator::test_any
        PASS [  32.758s] coretests::coretests any::any_owning
        PASS [  32.864s] coretests::coretests any::dyn_type_name
        PASS [  32.973s] coretests::coretests any::any_downcast_ref
        PASS [  33.139s] coretests::coretests any::any_unsized
        PASS [  33.719s] coretests::coretests any::any_referenced
        PASS [  35.786s] coretests::coretests any::any_fixed_vec
        PASS [  38.951s] coretests::coretests num::dec2flt::parse::many_digits
────────────
     Summary [  38.955s] 10 tests run: 10 passed, 2760 skipped

after:
 Nextest run ID af603971-e41e-466d-8469-0425057fa325 with nextest profile: default-miri
    Starting 10 tests across 2 binaries (2761 tests skipped)
        PASS [  15.063s] coretests::coretests any::any_unsized
        PASS [  15.176s] coretests::coretests any::distinct_type_names
        PASS [  15.200s] coretests::coretests any::any_referenced
        PASS [  15.550s] coretests::coretests iter::traits::iterator::test_any
        PASS [  15.993s] coretests::coretests any::any_fixed_vec
        PASS [  17.506s] coretests::coretests num::dec2flt::parse::many_digits
        PASS [  17.902s] coretests::coretests any::any_downcast_ref
        PASS [  18.188s] coretests::coretests any::any_owning
        PASS [  19.270s] coretests::coretests any::dyn_type_name
        PASS [  19.702s] coretests::coretests any::any_downcast_mut
────────────
     Summary [  19.705s] 10 tests run: 10 passed, 2761 skipped
```
It still seems to spend at least 10s building the crate before Miri even begins running, no idea what it is doing in that time. But it's 15s less than before so that's good. :)
…, r=bjorn3,jieyouxu

Add -Zwasm-proc-macros flag

This is currently not really implemented, but partial support for it is added in various places across the tree. This is a patch extracted from the wider set of work to make review easier, which wires up:

* Unstable flag in rustc
* Bootstrap flag to enable using wasm-proc-macros (this needs an extra std compilation, wiring into compiletest)
* Partial compiletest support for the flag (mostly just CLI side of things)
  * I suspect this will not work across all platforms but based on success with the full patch it should be enough for Linux, I think. I'd rather get them working on at least one platform and then iterate from there, unless we have clear ideas for improvements now.

cc rust-lang#160389 (tracking issue)
cc rust-lang#157590 (more complete implementation)

r? @bjorn3
…, r=clarfonthey

std: Adjust cfgs again for TLS on WASI

This commit adjusts the changes made in rust-lang#159733. A wasi-libc bug was discovered in rust-lang#160828 which is present in certain situations which means that the changes in rust-lang#159733 expose this bug. The purpose of this PR is to get wasip1/wasip2 targets fixed again while preserving a working implementation for wasip3. This upstream bug is already fixed in wasi-libc meaning that this PR won't be necessary once wasi-sdk-34 is published and used in rust-lang/rust. Until that time, however, this effectively reverts rust-lang#159733 for wasip1/wasip2. The wasip3 target is Tier 3 still and requires wasi-sdk-34 anyway which is why that's left unchanged.

Closes rust-lang#160828
@rustbot rustbot added A-CI Area: Our Github Actions CI A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs 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-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels Aug 11, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple-1,aarch64-apple-2,x86_64-mingw-1,i686-msvc-1,i686-msvc-2

@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 130310a has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 11, 2026
@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 130310a with merge 768af07

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/31539613268

rust-bors Bot pushed a commit that referenced this pull request Aug 11, 2026
Rollup of 15 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple-1
try-job: aarch64-apple-2
try-job: x86_64-mingw-1
try-job: i686-msvc-1
try-job: i686-msvc-2
@rust-bors rust-bors Bot 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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 11, 2026
@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

PR #154065, which is a member of this rollup, was unapproved.

This rollup was thus unapproved.

@rust-bors rust-bors Bot mentioned this pull request Aug 11, 2026
@rust-bors rust-bors Bot closed this Aug 11, 2026
@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

PR #154065, which is a member of this rollup, was closed.

This rollup was closed.

@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors try cancel

@rust-bors

rust-bors Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] build_script_build test:false 0.338
warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/float/sub.rs:6:69
   |
 6 |         crate::float::add::__addhf3(a, f16::from_bits(b.to_bits() ^ f16::SIGN_MASK))
   |                                                                     ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
   = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
help: use the fully qualified path to the associated const
   |
 6 -         crate::float::add::__addhf3(a, f16::from_bits(b.to_bits() ^ f16::SIGN_MASK))
 6 +         crate::float::add::__addhf3(a, f16::from_bits(b.to_bits() ^ <f16 as float_traits::Float>::SIGN_MASK))
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/float/sub.rs:11:69
   |
11 |         crate::float::add::__addsf3(a, f32::from_bits(b.to_bits() ^ f32::SIGN_MASK))
   |                                                                     ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
11 -         crate::float::add::__addsf3(a, f32::from_bits(b.to_bits() ^ f32::SIGN_MASK))
11 +         crate::float::add::__addsf3(a, f32::from_bits(b.to_bits() ^ <f32 as float_traits::Float>::SIGN_MASK))
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f32::<impl f32>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/float/sub.rs:16:69
   |
16 |         crate::float::add::__adddf3(a, f64::from_bits(b.to_bits() ^ f64::SIGN_MASK))
   |                                                                     ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
16 -         crate::float::add::__adddf3(a, f64::from_bits(b.to_bits() ^ f64::SIGN_MASK))
16 +         crate::float::add::__adddf3(a, f64::from_bits(b.to_bits() ^ <f64 as float_traits::Float>::SIGN_MASK))
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/float/sub.rs:27:51
   |
27 |         __addtf3(a, f128::from_bits(b.to_bits() ^ f128::SIGN_MASK))
   |                                                   ^^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
27 -         __addtf3(a, f128::from_bits(b.to_bits() ^ f128::SIGN_MASK))
27 +         __addtf3(a, f128::from_bits(b.to_bits() ^ <f128 as float_traits::Float>::SIGN_MASK))
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f128::<impl f128>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

---
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
279 | |             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
    | |                                                                    ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
279 -             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
279 +             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | <f16 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:280:70
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
280 | |             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
    | |                                                                      ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
280 -             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
280 +             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | <f16 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:299:43
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
299 | |             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
    | |                                           ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
299 -             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
299 +             const EXP_MASK: Self::Int = !(<f16 as float_traits::Float>::SIGN_MASK | Self::SIG_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:279:68
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
279 | |             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
    | |                                                                    ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
279 -             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
279 +             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | <f32 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f32::<impl f32>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:280:70
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
280 | |             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
    | |                                                                      ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
280 -             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
280 +             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | <f32 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f32::<impl f32>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:299:43
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
299 | |             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
    | |                                           ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
299 -             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
299 +             const EXP_MASK: Self::Int = !(<f32 as float_traits::Float>::SIGN_MASK | Self::SIG_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f32::<impl f32>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:279:68
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
279 | |             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
    | |                                                                    ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
279 -             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
279 +             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | <f64 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:280:70
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
280 | |             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
    | |                                                                      ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
280 -             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
280 +             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | <f64 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:299:43
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
299 | |             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
    | |                                           ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
299 -             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
299 +             const EXP_MASK: Self::Int = !(<f64 as float_traits::Float>::SIGN_MASK | Self::SIG_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:279:68
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
279 | |             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
    | |                                                                    ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
279 -             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | Self::SIGN_MASK);
279 +             const NEG_NAN: Self = $from_bits($to_bits(Self::NAN) | <f128 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f128::<impl f128>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:280:70
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
280 | |             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
    | |                                                                      ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
280 -             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | Self::SIGN_MASK);
280 +             const NEG_SNAN: Self = $from_bits($to_bits(Self::SNAN) | <f128 as float_traits::Float>::SIGN_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f128::<impl f128>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: an associated constant with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/float_traits.rs:299:43
    |
238 | / macro_rules! float_impl {
239 | |     (
240 | |         $ty:ident,
241 | |         $ity:ident,
...   |
299 | |             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
    | |                                           ^^^^^^^^^^^^^^^
...   |
374 | |     };
375 | | }
    | |_- in this expansion of `float_impl!`
---
    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
    |
299 -             const EXP_MASK: Self::Int = !(Self::SIGN_MASK | Self::SIG_MASK);
299 +             const EXP_MASK: Self::Int = !(<f128 as float_traits::Float>::SIGN_MASK | Self::SIG_MASK);
    |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f128::<impl f128>::SIGN_MASK`
   --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
    |
 37 + #![feature(float_masks)]
    |

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:28
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                            ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
75 |   impl_narrowing_div_primitive!(u16);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:55
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                                                       ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
75 |   impl_narrowing_div_primitive!(u16);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:28
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                            ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
76 |   impl_narrowing_div_primitive!(u32);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:55
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                                                       ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
76 |   impl_narrowing_div_primitive!(u32);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:28
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                            ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
77 |   impl_narrowing_div_primitive!(u64);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:55
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                                                       ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
77 |   impl_narrowing_div_primitive!(u64);
   |   ---------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:28
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                            ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
78 |   impl_narrowing_div_primitive!(u128);
   |   ----------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits/narrowing_div.rs:37:55
   |
30 | / macro_rules! impl_narrowing_div_primitive {
31 | |     ($D:ident) => {
32 | |         impl NarrowingDiv for $D {
33 | |             unsafe fn unchecked_narrowing_div_rem(self, n: Self::H) -> (Self::H, Self::H) {
...  |
37 | |                 ((self / n.widen()).cast(), (self % n.widen()).cast())
   | |                                                       ^^^^^
...  |
40 | |     };
41 | | }
   | |_- in this expansion of `impl_narrowing_div_primitive!`
...
78 |   impl_narrowing_div_primitive!(u128);
   |   ----------------------------------- in this macro invocation
   |
   = help: call with fully qualified syntax `HInt::widen(...)` to keep using the current method
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:26
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                          ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: a method with this name may be added to the standard library in the future
   --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/support/int_traits.rs:385:51
    |
369 | / macro_rules! impl_h_int {
370 | |     ($($H:ident $uH:ident $X:ident),*) => {
371 | |         $(
372 | |             impl HInt for $H {
...   |
385 | |                     self.widen().wrapping_mul(rhs.widen())
    | |                                                   ^^^^^
...   |
392 | |     };
393 | | }
    | |_- in this expansion of `impl_h_int!`
---

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/acosh.rs:15:15
   |
15 |     if (ux & !f64::SIGN_MASK) < 2_f64.to_bits() {
   |               ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
15 -     if (ux & !f64::SIGN_MASK) < 2_f64.to_bits() {
15 +     if (ux & !<f64 as float_traits::Float>::SIGN_MASK) < 2_f64.to_bits() {
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/acoshf.rs:15:15
   |
15 |     if (ux & !f32::SIGN_MASK) < 2_f32.to_bits() {
   |               ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
15 -     if (ux & !f32::SIGN_MASK) < 2_f32.to_bits() {
15 +     if (ux & !<f32 as float_traits::Float>::SIGN_MASK) < 2_f32.to_bits() {
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f32::<impl f32>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/cbrt.rs:49:29
   |
49 |         let ix: u64 = hx & !f64::SIGN_MASK;
   |                             ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
49 -         let ix: u64 = hx & !f64::SIGN_MASK;
49 +         let ix: u64 = hx & !<f64 as float_traits::Float>::SIGN_MASK;
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f64::<impl f64>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/fmaf16.rs:14:29
   |
14 |     let ix = x.to_bits() & !f16::SIGN_MASK;
   |                             ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
14 -     let ix = x.to_bits() & !f16::SIGN_MASK;
14 +     let ix = x.to_bits() & !<f16 as float_traits::Float>::SIGN_MASK;
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/fmaf16.rs:15:29
   |
15 |     let iy = y.to_bits() & !f16::SIGN_MASK;
   |                             ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
15 -     let iy = y.to_bits() & !f16::SIGN_MASK;
15 +     let iy = y.to_bits() & !<f16 as float_traits::Float>::SIGN_MASK;
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

warning: an associated constant with this name may be added to the standard library in the future
  --> library/compiler-builtins/compiler-builtins/src/math/../../../libm/src/math/fmaf16.rs:16:29
   |
16 |     let iz = z.to_bits() & !f16::SIGN_MASK;
   |                             ^^^^^^^^^^^^^^
   |
   = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
   = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
help: use the fully qualified path to the associated const
   |
16 -     let iz = z.to_bits() & !f16::SIGN_MASK;
16 +     let iz = z.to_bits() & !<f16 as float_traits::Float>::SIGN_MASK;
   |
help: add `#![feature(float_masks)]` to the crate attributes to enable `f16::<impl f16>::SIGN_MASK`
  --> library/compiler-builtins/compiler-builtins/src/lib.rs:37:1
   |
37 + #![feature(float_masks)]
   |

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

Labels

A-CI Area: Our Github Actions CI A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.