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

Linux PPCLE - could not compile typenum (lib) #127610

Closed
jordannort opened this issue Jul 11, 2024 · 7 comments
Closed

Linux PPCLE - could not compile typenum (lib) #127610

jordannort opened this issue Jul 11, 2024 · 7 comments
Labels
A-floating-point Area: Floating point numbers and arithmetic C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ O-PowerPC Target: PowerPC processors T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@jordannort
Copy link

Hi, apologies if anything is incorrect. I've been trying to build a Python wheel for bcrypt, but have been unable to get past compiling the typenum dependency. I've tried manually cloning the typenum repository and building it directly but encountered the same trace as shown below. Any suggestions would be greatly appreciated.

Code

https://github.com/paholg/typenum

Meta

Operating System: CentOS 7 PPCLE

rustc --version --verbose:

rustc 1.79.0 (129f3b996 2024-06-10)
binary: rustc
commit-hash: 129f3b9964af4d4a709d1383930ade12dfe7c081
commit-date: 2024-06-10
host: powerpc64le-unknown-linux-gnu
release: 1.79.0
LLVM version: 18.1.7

Error output

error.log

Backtrace

backtrace.log

@jordannort jordannort added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 11, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jul 11, 2024
@tgross35
Copy link
Contributor

tgross35 commented Jul 11, 2024

Note that it's best to paste the error text directly into the issue message so nobody has to download files. The collapsible <details>...</details> section will hide the long backtrace. But here, I did it for you :)

Compiling typenum v1.17.0 (/typenum)
warning: unused import: `*`
   --> src/lib.rs:104:25
    |
104 |     N1, N2, Z0, P1, P2, *,
    |                         ^
    |
    = note: `#[warn(unused_imports)]` on by default

thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:1039:13:
apfloat::ieee::Single gave different result for `0`: 1(0x3f800000) vs Rust's 0(0x0)
Backtrace
stack backtrace:
   0:       0x400b9bb52c - std::backtrace_rs::backtrace::libunwind::trace::hbfff1b0c654ff531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:       0x400b9bb52c - std::backtrace_rs::backtrace::trace_unsynchronized::h5c22a92b58bac764
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x400b9bb52c - std::sys_common::backtrace::_print_fmt::h6e81dcacd9c1e554
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5
   3:       0x400b9bb52c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3b19b8018e868f82
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22
   4:       0x400ba1cfe8 - core::fmt::rt::Argument::fmt::h7bb8c2f7d4f97c37
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63
   5:       0x400ba1cfe8 - core::fmt::write::haeadcf01062e4f07
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21
   6:       0x400b9abdc8 - std::io::Write::write_fmt::h93c1737dca442531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15
   7:       0x400b9bb2a8 - std::sys_common::backtrace::_print::hb7104ccf5531c628
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5
   8:       0x400b9bb2a8 - std::sys_common::backtrace::print::h527c89a42b57d4e1
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9
   9:       0x400b9be8e0 - std::panicking::default_hook::{{closure}}::h25134edbb5ab661d
  10:       0x400b9be4a0 - std::panicking::default_hook::h1592cf569724d549
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9
  11:       0x400164e53c - <std[d046991204843b34]::panicking::default_hook as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  12:       0x4001691520 - <alloc[ebd89087f7b641f5]::boxed::Box<dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync> as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  13:       0x40016916b0 - <alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}> as core[6a33daa4a97c983e]::ops::function::Fn<(&dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync, &core[6a33daa4a97c983e]::panic::panic_info::PanicInfo)>>::call
  14:       0x400164bdb8 - std[d046991204843b34]::panicking::update_hook::<alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}>>::{closure#0}
  15:       0x400b9bf2ac - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h73c53de1e15d6970
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2036:9
  16:       0x400b9bf2ac - std::panicking::rust_panic_with_hook::h0ebb94b70b142d5d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:799:13
  17:       0x400b9befa8 - std::panicking::begin_panic_handler::{{closure}}::h6fb8dca9cde4ab40
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13
  18:       0x400b9bbbb0 - std::sys_common::backtrace::__rust_end_short_backtrace::hbe723578b613dc77
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
  19:       0x400b9bebb0 - rust_begin_unwind
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
  20:       0x400b972fb4 - core::panicking::panic_fmt::hd18ec1867f097425
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
  21:       0x40067f5654 - rustc_mir_build[37f807db64c65461]::build::parse_float_into_scalar
  22:       0x400690957c - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::lit_to_mir_constant
  23:       0x40069057d8 - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::as_constant_inner::<<rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant::{closure#0}>
  24:       0x40067f8724 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant
  25:       0x40067fad9c - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_rvalue
  26:       0x4006812a08 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  27:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  28:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  29:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  30:       0x40067f7618 - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  31:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  32:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  33:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  34:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  35:       0x40067f1b54 - rustc_mir_build[37f807db64c65461]::build::mir_build
  36:       0x4005efbbd4 - rustc_mir_transform[966de7ac9f7ad8e]::mir_built
  37:       0x4006d62194 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>
  38:       0x4006fce778 - <rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  39:       0x40070b50fc - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  40:       0x4006deb814 - rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
  41:       0x4006876c98 - rustc_mir_build[37f807db64c65461]::check_unsafety::check_unsafety
  42:       0x4006d59354 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>
  43:       0x4006f3c868 - <rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  44:       0x40070ab7ec - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  45:       0x4006df5ff8 - rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::get_query_incr::__rust_end_short_backtrace
  46:       0x40018da478 - std[d046991204843b34]::panicking::try::<(), core[6a33daa4a97c983e]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  47:       0x40018c5134 - <rustc_data_structures[f4e9948a5e78d622]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
  48:       0x40018d3440 - <rustc_session[86054926e2515fdd]::session::Session>::time::<(), rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}>
  49:       0x40018efb28 - rustc_interface[2e557ee1b01632d6]::passes::analysis
  50:       0x4006d61aa0 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>
  51:       0x400701b254 - <rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, ())>>::call_once
  52:       0x40070597e4 - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::SingleCache<rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  53:       0x4006de6b20 - rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  54:       0x4001657094 - <rustc_interface[2e557ee1b01632d6]::queries::QueryResult<&rustc_middle[83e74f9997cb9b91]::ty::context::GlobalCtxt>>::enter::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}::{closure#3}>
  55:       0x40016181f4 - <rustc_interface[2e557ee1b01632d6]::interface::Compiler>::enter::<rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}, core[6a33daa4a97c983e]::result::Result<core[6a33daa4a97c983e]::option::Option<rustc_interface[2e557ee1b01632d6]::queries::Linker>, rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  56:       0x4001640ecc - <scoped_tls[f1eef0fb6eec0756]::ScopedKey<rustc_span[4456582d874d2fb3]::SessionGlobals>>::set::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  57:       0x40016171a4 - rustc_span[4456582d874d2fb3]::create_session_globals_then::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  58:       0x4001612b54 - std[d046991204843b34]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  59:       0x400164c258 - <<std[d046991204843b34]::thread::Builder>::spawn_unchecked_<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  60:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8a6f8d0c2fed6ee
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  61:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7765e06d25fd403d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  62:       0x400b9cbf28 - std::sys::pal::unix::thread::Thread::new::thread_start::h3955f1a9f6d70862
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys/pal/unix/thread.rs:108:17
  63:       0x400bcdacd4 - start_thread
  64:       0x400bbc0f14 - clone

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.79.0 (129f3b996 2024-06-10) running on powerpc64le-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `type_operators::<impl at src/type_operators.rs:94:9: 94:31>::powi`
#1 [check_unsafety] unsafety-checking `type_operators::<impl at src/type_operators.rs:94:9: 94:31>::powi`
#2 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:1039:13:
apfloat::ieee::Single gave different result for `0`: 1(0x3f800000) vs Rust's 0(0x0)
stack backtrace:
   0:       0x400b9bb52c - std::backtrace_rs::backtrace::libunwind::trace::hbfff1b0c654ff531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:       0x400b9bb52c - std::backtrace_rs::backtrace::trace_unsynchronized::h5c22a92b58bac764
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x400b9bb52c - std::sys_common::backtrace::_print_fmt::h6e81dcacd9c1e554
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5
   3:       0x400b9bb52c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3b19b8018e868f82
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22
   4:       0x400ba1cfe8 - core::fmt::rt::Argument::fmt::h7bb8c2f7d4f97c37
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63
   5:       0x400ba1cfe8 - core::fmt::write::haeadcf01062e4f07
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21
   6:       0x400b9abdc8 - std::io::Write::write_fmt::h93c1737dca442531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15
   7:       0x400b9bb2a8 - std::sys_common::backtrace::_print::hb7104ccf5531c628
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5
   8:       0x400b9bb2a8 - std::sys_common::backtrace::print::h527c89a42b57d4e1
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9
   9:       0x400b9be8e0 - std::panicking::default_hook::{{closure}}::h25134edbb5ab661d
  10:       0x400b9be4a0 - std::panicking::default_hook::h1592cf569724d549
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9
  11:       0x400164e53c - <std[d046991204843b34]::panicking::default_hook as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  12:       0x4001691520 - <alloc[ebd89087f7b641f5]::boxed::Box<dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync> as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  13:       0x40016916b0 - <alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}> as core[6a33daa4a97c983e]::ops::function::Fn<(&dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync, &core[6a33daa4a97c983e]::panic::panic_info::PanicInfo)>>::call
  14:       0x400164bdb8 - std[d046991204843b34]::panicking::update_hook::<alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}>>::{closure#0}
  15:       0x400b9bf2ac - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h73c53de1e15d6970
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2036:9
  16:       0x400b9bf2ac - std::panicking::rust_panic_with_hook::h0ebb94b70b142d5d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:799:13
  17:       0x400b9befa8 - std::panicking::begin_panic_handler::{{closure}}::h6fb8dca9cde4ab40
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13
  18:       0x400b9bbbb0 - std::sys_common::backtrace::__rust_end_short_backtrace::hbe723578b613dc77
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
  19:       0x400b9bebb0 - rust_begin_unwind
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
  20:       0x400b972fb4 - core::panicking::panic_fmt::hd18ec1867f097425
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
  21:       0x40067f5654 - rustc_mir_build[37f807db64c65461]::build::parse_float_into_scalar
  22:       0x400690957c - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::lit_to_mir_constant
  23:       0x40069057d8 - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::as_constant_inner::<<rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant::{closure#0}>
  24:       0x40067f8724 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant
  25:       0x40067fad9c - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_rvalue
  26:       0x4006812a08 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  27:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  28:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  29:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  30:       0x400680db34 - <rustc_mir_build[37f807db64c65461]::build::Builder>::break_scope
  31:       0x40067ff3d4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  32:       0x40067ffc68 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  33:       0x40067f5d3c - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  34:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  35:       0x40068116a4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp_inner
  36:       0x40067feda0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp
  37:       0x40068145d0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  38:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  39:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  40:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  41:       0x4006813dc4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  42:       0x40068117b0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp_inner
  43:       0x40067ff3a4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  44:       0x40067ffc68 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  45:       0x40067f5d3c - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  46:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  47:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  48:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  49:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  50:       0x40067f1b54 - rustc_mir_build[37f807db64c65461]::build::mir_build
  51:       0x4005efbbd4 - rustc_mir_transform[966de7ac9f7ad8e]::mir_built
  52:       0x4006d62194 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>
  53:       0x4006fce778 - <rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  54:       0x40070b50fc - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  55:       0x4006deb814 - rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
  56:       0x4006876c98 - rustc_mir_build[37f807db64c65461]::check_unsafety::check_unsafety
  57:       0x4006d59354 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>
  58:       0x4006f3c868 - <rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  59:       0x40070ab7ec - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  60:       0x4006df5ff8 - rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::get_query_incr::__rust_end_short_backtrace
  61:       0x40018da478 - std[d046991204843b34]::panicking::try::<(), core[6a33daa4a97c983e]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  62:       0x40018c5134 - <rustc_data_structures[f4e9948a5e78d622]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
  63:       0x40018d3440 - <rustc_session[86054926e2515fdd]::session::Session>::time::<(), rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}>
  64:       0x40018efb28 - rustc_interface[2e557ee1b01632d6]::passes::analysis
  65:       0x4006d61aa0 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>
  66:       0x400701b254 - <rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, ())>>::call_once
  67:       0x40070597e4 - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::SingleCache<rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  68:       0x4006de6b20 - rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  69:       0x4001657094 - <rustc_interface[2e557ee1b01632d6]::queries::QueryResult<&rustc_middle[83e74f9997cb9b91]::ty::context::GlobalCtxt>>::enter::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}::{closure#3}>
  70:       0x40016181f4 - <rustc_interface[2e557ee1b01632d6]::interface::Compiler>::enter::<rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}, core[6a33daa4a97c983e]::result::Result<core[6a33daa4a97c983e]::option::Option<rustc_interface[2e557ee1b01632d6]::queries::Linker>, rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  71:       0x4001640ecc - <scoped_tls[f1eef0fb6eec0756]::ScopedKey<rustc_span[4456582d874d2fb3]::SessionGlobals>>::set::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  72:       0x40016171a4 - rustc_span[4456582d874d2fb3]::create_session_globals_then::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  73:       0x4001612b54 - std[d046991204843b34]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  74:       0x400164c258 - <<std[d046991204843b34]::thread::Builder>::spawn_unchecked_<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  75:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8a6f8d0c2fed6ee
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  76:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7765e06d25fd403d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  77:       0x400b9cbf28 - std::sys::pal::unix::thread::Thread::new::thread_start::h3955f1a9f6d70862
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys/pal/unix/thread.rs:108:17
  78:       0x400bcdacd4 - start_thread
  79:       0x400bbc0f14 - clone

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.79.0 (129f3b996 2024-06-10) running on powerpc64le-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `type_operators::<impl at src/type_operators.rs:102:9: 102:57>::powi`
#1 [check_unsafety] unsafety-checking `type_operators::<impl at src/type_operators.rs:102:9: 102:57>::powi`
#2 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:1039:13:
apfloat::ieee::Single gave different result for `0`: 1(0x3f800000) vs Rust's 0(0x0)
stack backtrace:
   0:       0x400b9bb52c - std::backtrace_rs::backtrace::libunwind::trace::hbfff1b0c654ff531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:       0x400b9bb52c - std::backtrace_rs::backtrace::trace_unsynchronized::h5c22a92b58bac764
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x400b9bb52c - std::sys_common::backtrace::_print_fmt::h6e81dcacd9c1e554
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5
   3:       0x400b9bb52c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3b19b8018e868f82
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22
   4:       0x400ba1cfe8 - core::fmt::rt::Argument::fmt::h7bb8c2f7d4f97c37
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63
   5:       0x400ba1cfe8 - core::fmt::write::haeadcf01062e4f07
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21
   6:       0x400b9abdc8 - std::io::Write::write_fmt::h93c1737dca442531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15
   7:       0x400b9bb2a8 - std::sys_common::backtrace::_print::hb7104ccf5531c628
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5
   8:       0x400b9bb2a8 - std::sys_common::backtrace::print::h527c89a42b57d4e1
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9
   9:       0x400b9be8e0 - std::panicking::default_hook::{{closure}}::h25134edbb5ab661d
  10:       0x400b9be4a0 - std::panicking::default_hook::h1592cf569724d549
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9
  11:       0x400164e53c - <std[d046991204843b34]::panicking::default_hook as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  12:       0x4001691520 - <alloc[ebd89087f7b641f5]::boxed::Box<dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync> as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  13:       0x40016916b0 - <alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}> as core[6a33daa4a97c983e]::ops::function::Fn<(&dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync, &core[6a33daa4a97c983e]::panic::panic_info::PanicInfo)>>::call
  14:       0x400164bdb8 - std[d046991204843b34]::panicking::update_hook::<alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}>>::{closure#0}
  15:       0x400b9bf2ac - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h73c53de1e15d6970
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2036:9
  16:       0x400b9bf2ac - std::panicking::rust_panic_with_hook::h0ebb94b70b142d5d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:799:13
  17:       0x400b9befa8 - std::panicking::begin_panic_handler::{{closure}}::h6fb8dca9cde4ab40
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13
  18:       0x400b9bbbb0 - std::sys_common::backtrace::__rust_end_short_backtrace::hbe723578b613dc77
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
  19:       0x400b9bebb0 - rust_begin_unwind
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
  20:       0x400b972fb4 - core::panicking::panic_fmt::hd18ec1867f097425
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
  21:       0x40067f5654 - rustc_mir_build[37f807db64c65461]::build::parse_float_into_scalar
  22:       0x400690957c - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::lit_to_mir_constant
  23:       0x40069057d8 - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::as_constant_inner::<<rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant::{closure#0}>
  24:       0x40067f8724 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant
  25:       0x40067fad9c - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_rvalue
  26:       0x4006812a08 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  27:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  28:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  29:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  30:       0x40067f7618 - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  31:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  32:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  33:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  34:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  35:       0x40067f1b54 - rustc_mir_build[37f807db64c65461]::build::mir_build
  36:       0x4005efbbd4 - rustc_mir_transform[966de7ac9f7ad8e]::mir_built
  37:       0x4006d62194 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>
  38:       0x4006fce778 - <rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  39:       0x40070b50fc - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  40:       0x4006deb814 - rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
  41:       0x4006876c98 - rustc_mir_build[37f807db64c65461]::check_unsafety::check_unsafety
  42:       0x4006d59354 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>
  43:       0x4006f3c868 - <rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  44:       0x40070ab7ec - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  45:       0x4006df5ff8 - rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::get_query_incr::__rust_end_short_backtrace
  46:       0x40018da478 - std[d046991204843b34]::panicking::try::<(), core[6a33daa4a97c983e]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  47:       0x40018c5134 - <rustc_data_structures[f4e9948a5e78d622]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
  48:       0x40018d3440 - <rustc_session[86054926e2515fdd]::session::Session>::time::<(), rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}>
  49:       0x40018efb28 - rustc_interface[2e557ee1b01632d6]::passes::analysis
  50:       0x4006d61aa0 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>
  51:       0x400701b254 - <rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, ())>>::call_once
  52:       0x40070597e4 - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::SingleCache<rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  53:       0x4006de6b20 - rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  54:       0x4001657094 - <rustc_interface[2e557ee1b01632d6]::queries::QueryResult<&rustc_middle[83e74f9997cb9b91]::ty::context::GlobalCtxt>>::enter::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}::{closure#3}>
  55:       0x40016181f4 - <rustc_interface[2e557ee1b01632d6]::interface::Compiler>::enter::<rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}, core[6a33daa4a97c983e]::result::Result<core[6a33daa4a97c983e]::option::Option<rustc_interface[2e557ee1b01632d6]::queries::Linker>, rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  56:       0x4001640ecc - <scoped_tls[f1eef0fb6eec0756]::ScopedKey<rustc_span[4456582d874d2fb3]::SessionGlobals>>::set::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  57:       0x40016171a4 - rustc_span[4456582d874d2fb3]::create_session_globals_then::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  58:       0x4001612b54 - std[d046991204843b34]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  59:       0x400164c258 - <<std[d046991204843b34]::thread::Builder>::spawn_unchecked_<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  60:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8a6f8d0c2fed6ee
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  61:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7765e06d25fd403d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  62:       0x400b9cbf28 - std::sys::pal::unix::thread::Thread::new::thread_start::h3955f1a9f6d70862
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys/pal/unix/thread.rs:108:17
  63:       0x400bcdacd4 - start_thread
  64:       0x400bbc0f14 - clone

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.79.0 (129f3b996 2024-06-10) running on powerpc64le-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `type_operators::<impl at src/type_operators.rs:135:9: 135:28>::powi`
#1 [check_unsafety] unsafety-checking `type_operators::<impl at src/type_operators.rs:135:9: 135:28>::powi`
#2 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:1039:13:
apfloat::ieee::Single gave different result for `0`: 1(0x3f800000) vs Rust's 0(0x0)
stack backtrace:
   0:       0x400b9bb52c - std::backtrace_rs::backtrace::libunwind::trace::hbfff1b0c654ff531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:       0x400b9bb52c - std::backtrace_rs::backtrace::trace_unsynchronized::h5c22a92b58bac764
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:       0x400b9bb52c - std::sys_common::backtrace::_print_fmt::h6e81dcacd9c1e554
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5
   3:       0x400b9bb52c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3b19b8018e868f82
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22
   4:       0x400ba1cfe8 - core::fmt::rt::Argument::fmt::h7bb8c2f7d4f97c37
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63
   5:       0x400ba1cfe8 - core::fmt::write::haeadcf01062e4f07
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21
   6:       0x400b9abdc8 - std::io::Write::write_fmt::h93c1737dca442531
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15
   7:       0x400b9bb2a8 - std::sys_common::backtrace::_print::hb7104ccf5531c628
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5
   8:       0x400b9bb2a8 - std::sys_common::backtrace::print::h527c89a42b57d4e1
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9
   9:       0x400b9be8e0 - std::panicking::default_hook::{{closure}}::h25134edbb5ab661d
  10:       0x400b9be4a0 - std::panicking::default_hook::h1592cf569724d549
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9
  11:       0x400164e53c - <std[d046991204843b34]::panicking::default_hook as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  12:       0x4001691520 - <alloc[ebd89087f7b641f5]::boxed::Box<dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync> as core[6a33daa4a97c983e]::ops::function::Fn<(&core[6a33daa4a97c983e]::panic::panic_info::PanicInfo,)>>::call
  13:       0x40016916b0 - <alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}> as core[6a33daa4a97c983e]::ops::function::Fn<(&dyn for<'a, 'b> core[6a33daa4a97c983e]::ops::function::Fn<(&'a core[6a33daa4a97c983e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[6a33daa4a97c983e]::marker::Send + core[6a33daa4a97c983e]::marker::Sync, &core[6a33daa4a97c983e]::panic::panic_info::PanicInfo)>>::call
  14:       0x400164bdb8 - std[d046991204843b34]::panicking::update_hook::<alloc[ebd89087f7b641f5]::boxed::Box<rustc_driver_impl[f605460c1e933b84]::install_ice_hook::{closure#0}>>::{closure#0}
  15:       0x400b9bf2ac - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h73c53de1e15d6970
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2036:9
  16:       0x400b9bf2ac - std::panicking::rust_panic_with_hook::h0ebb94b70b142d5d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:799:13
  17:       0x400b9befa8 - std::panicking::begin_panic_handler::{{closure}}::h6fb8dca9cde4ab40
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13
  18:       0x400b9bbbb0 - std::sys_common::backtrace::__rust_end_short_backtrace::hbe723578b613dc77
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
  19:       0x400b9bebb0 - rust_begin_unwind
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
  20:       0x400b972fb4 - core::panicking::panic_fmt::hd18ec1867f097425
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
  21:       0x40067f5654 - rustc_mir_build[37f807db64c65461]::build::parse_float_into_scalar
  22:       0x400690957c - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::lit_to_mir_constant
  23:       0x40069057d8 - rustc_mir_build[37f807db64c65461]::build::expr::as_constant::as_constant_inner::<<rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant::{closure#0}>
  24:       0x40067f8724 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_constant
  25:       0x40067fad9c - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_rvalue
  26:       0x4006812a08 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  27:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  28:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  29:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  30:       0x400680db34 - <rustc_mir_build[37f807db64c65461]::build::Builder>::break_scope
  31:       0x40067ff3d4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  32:       0x40067ffc68 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  33:       0x40067f5d3c - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  34:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  35:       0x40068116a4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp_inner
  36:       0x40067feda0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp
  37:       0x40068145d0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  38:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  39:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  40:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  41:       0x4006813dc4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  42:       0x40068117b0 - <rustc_mir_build[37f807db64c65461]::build::Builder>::as_temp_inner
  43:       0x40067ff3a4 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  44:       0x40067ffc68 - <rustc_mir_build[37f807db64c65461]::build::Builder>::stmt_expr
  45:       0x40067f5d3c - <rustc_mir_build[37f807db64c65461]::build::Builder>::ast_block_stmts
  46:       0x400681486c - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  47:       0x400681699c - <rustc_mir_build[37f807db64c65461]::build::Builder>::in_scope::<<rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}::{closure#0}, ()>
  48:       0x40068157fc - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest::{closure#0}
  49:       0x4006812ed8 - <rustc_mir_build[37f807db64c65461]::build::Builder>::expr_into_dest
  50:       0x40067f1b54 - rustc_mir_build[37f807db64c65461]::build::mir_build
  51:       0x4005efbbd4 - rustc_mir_transform[966de7ac9f7ad8e]::mir_built
  52:       0x4006d62194 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>
  53:       0x4006fce778 - <rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  54:       0x40070b50fc - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  55:       0x4006deb814 - rustc_query_impl[a689b29385e1c78b]::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
  56:       0x4006876c98 - rustc_mir_build[37f807db64c65461]::check_unsafety::check_unsafety
  57:       0x4006d59354 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>
  58:       0x4006f3c868 - <rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, rustc_span[4456582d874d2fb3]::def_id::LocalDefId)>>::call_once
  59:       0x40070ab7ec - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::VecCache<rustc_span[4456582d874d2fb3]::def_id::LocalDefId, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  60:       0x4006df5ff8 - rustc_query_impl[a689b29385e1c78b]::query_impl::check_unsafety::get_query_incr::__rust_end_short_backtrace
  61:       0x40018da478 - std[d046991204843b34]::panicking::try::<(), core[6a33daa4a97c983e]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  62:       0x40018c5134 - <rustc_data_structures[f4e9948a5e78d622]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[f4e9948a5e78d622]::sync::parallel::disabled::par_for_each_in<&[rustc_span[4456582d874d2fb3]::def_id::LocalDefId], <rustc_middle[83e74f9997cb9b91]::hir::map::Map>::par_body_owners<rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
  63:       0x40018d3440 - <rustc_session[86054926e2515fdd]::session::Session>::time::<(), rustc_interface[2e557ee1b01632d6]::passes::run_required_analyses::{closure#1}>
  64:       0x40018efb28 - rustc_interface[2e557ee1b01632d6]::passes::analysis
  65:       0x4006d61aa0 - rustc_query_impl[a689b29385e1c78b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>
  66:       0x400701b254 - <rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::dynamic_query::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<(rustc_middle[83e74f9997cb9b91]::ty::context::TyCtxt, ())>>::call_once
  67:       0x40070597e4 - rustc_query_system[1a87351e092a0e48]::query::plumbing::try_execute_query::<rustc_query_impl[a689b29385e1c78b]::DynamicConfig<rustc_query_system[1a87351e092a0e48]::query::caches::SingleCache<rustc_middle[83e74f9997cb9b91]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a689b29385e1c78b]::plumbing::QueryCtxt, true>
  68:       0x4006de6b20 - rustc_query_impl[a689b29385e1c78b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  69:       0x4001657094 - <rustc_interface[2e557ee1b01632d6]::queries::QueryResult<&rustc_middle[83e74f9997cb9b91]::ty::context::GlobalCtxt>>::enter::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}::{closure#3}>
  70:       0x40016181f4 - <rustc_interface[2e557ee1b01632d6]::interface::Compiler>::enter::<rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}::{closure#1}, core[6a33daa4a97c983e]::result::Result<core[6a33daa4a97c983e]::option::Option<rustc_interface[2e557ee1b01632d6]::queries::Linker>, rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  71:       0x4001640ecc - <scoped_tls[f1eef0fb6eec0756]::ScopedKey<rustc_span[4456582d874d2fb3]::SessionGlobals>>::set::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  72:       0x40016171a4 - rustc_span[4456582d874d2fb3]::create_session_globals_then::<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  73:       0x4001612b54 - std[d046991204843b34]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>
  74:       0x400164c258 - <<std[d046991204843b34]::thread::Builder>::spawn_unchecked_<rustc_interface[2e557ee1b01632d6]::util::run_in_thread_with_globals<rustc_interface[2e557ee1b01632d6]::interface::run_compiler<core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>, rustc_driver_impl[f605460c1e933b84]::run_compiler::{closure#0}>::{closure#1}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a33daa4a97c983e]::result::Result<(), rustc_span[4456582d874d2fb3]::ErrorGuaranteed>>::{closure#2} as core[6a33daa4a97c983e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  75:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8a6f8d0c2fed6ee
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  76:       0x400b9cbf28 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7765e06d25fd403d
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2022:9
  77:       0x400b9cbf28 - std::sys::pal::unix::thread::Thread::new::thread_start::h3955f1a9f6d70862
                               at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys/pal/unix/thread.rs:108:17
  78:       0x400bcdacd4 - start_thread
  79:       0x400bbc0f14 - clone

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.79.0 (129f3b996 2024-06-10) running on powerpc64le-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `type_operators::<impl at src/type_operators.rs:143:9: 143:56>::powi`
#1 [check_unsafety] unsafety-checking `type_operators::<impl at src/type_operators.rs:143:9: 143:56>::powi`
#2 [analysis] running analysis passes on this crate
end of query stack
warning: `typenum` (lib) generated 1 warning (run `cargo fix --lib -p typenum` to apply 1 suggestion)
error: could not compile `typenum` (lib); 1 warning emitted

@tgross35
Copy link
Contributor

This is really weird though, we should be testing apfloat in multiple places. Is this in a docker container where you could easily test centos 8? Since centos 7 is only a few weeks from EOL.

@rustbot label +O-PowerPC +A-floating-point -needs-triage

@rustbot rustbot added A-floating-point Area: Floating point numbers and arithmetic O-PowerPC Target: PowerPC processors and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Jul 11, 2024
@tgross35
Copy link
Contributor

tgross35 commented Jul 11, 2024

I am inclined to think that this may something with your system, we test ppc64le in CI. Here is the dockerfile for reference https://github.com/rust-lang-ci/rust/blob/bcf1f6db4594ae6132378b179a30cdb3599a863d/src/ci/docker/host-x86_64/dist-powerpc64le-linux/Dockerfile.

@jordannort could you try to replicate this outside of rustc? Something like this, you'll need the rustc_apfloat dependency:

use rustc_apfloat::ieee::Single;
use rustc_apfloat::Float;

fn main() {
    let x: Single ="0".parse::<Single>().unwrap();
    println!("{x}, {:#x}", x.to_bits());
}

@jordannort
Copy link
Author

Hi Trevor, thank you for your response

I am inclined to think that this may something with your system, we test ppc64le in CI. Here is the dockerfile for reference https://github.com/rust-lang-ci/rust/blob/bcf1f6db4594ae6132378b179a30cdb3599a863d/src/ci/docker/host-x86_64/dist-powerpc64le-linux/Dockerfile.

Yes, it's possible that it's an issue with the image. It's a docker container running on a CentOS 7 x64 host for cross-compiling C/C++. We've not had any issue with floats thus far, and a simple C program to test floats yields expected results.

@jordannort could you try to replicate this outside of rustc? Something like this, you'll need the rustc_apfloat dependency:

use rustc_apfloat::ieee::Single;
use rustc_apfloat::Float;

fn main() {
    let x: Single ="0".parse::<Single>().unwrap();
    println!("{x}, {:#x}", x.to_bits());
}

The output was 0, 0x0. With "1" it yields 1, 0x3f800000

Also tried the following:
Declaring const A: f64 = 0.0; and const A: f64 = 1.0; runs fine.
Declaring const A: f32 = 0.0; runs fine but const A: f32 = 1.0; makes it very unhappy with apfloat::ieee::Single gave different result for 0: 1(0x3f800000) vs Rust's 0(0x0) as originally reported.

@jordannort
Copy link
Author

Hi Trevor,

After some back and forth, it has turned out that the docker image does have some issues. I've recreated it with enough capability to get typenum to build, so I thank you for your help in the matter and apologies for wasting your time.

@tgross35
Copy link
Contributor

No worries at all, I'm glad you were able to fix it. What caused the problem?

@jordannort
Copy link
Author

The image was built a few years ago with an old version of the qemu-ppc6le-static binary, so I can only hazard a guess that there was some issue with the emulation, with the older version, in this particular scenario.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-floating-point Area: Floating point numbers and arithmetic C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ O-PowerPC Target: PowerPC processors T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants