Skip to content

ICE: not implemented: f16_f128 #122587

Description

@matthiaskrgr

Code

//@ run-pass
#![allow(unused)]
#![feature(f128)]
#![feature(f16)]

// Same as the feature gate tests but ensure we can use the types
mod check_f128 {
    const A: f128 = 10.0;

    pub fn foo() {
        let a: f128 = 100.0;
        let b = 0.0f128;
        bar(1.23);
    }

    fn bar(a: f128) {}

    struct Bar {
        a: f128,
    }
}

mod check_f16 {
    const A: f16 = 10.0;

    pub fn foo() {
        let a: f16 = 100.0;
        let b = 0.0f16;
        bar(1.23);
    }

    fn bar(a: f16) {}

    struct Bar {
        a: f16,
    }
}

fn main() {
    check_f128::foo();
    check_f16::foo();
}

Meta

rustc --version --verbose:

rustc 1.78.0-nightly (c563f2ee7 2024-03-16)
binary: rustc
commit-hash: c563f2ee799b285067124b516ce99f26063f8351
commit-date: 2024-03-16
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 18.1.0

probably from #121926

Error output

clippy-driver ./tests/ui/resolve/primitive-usage.rs

<output>
Backtrace

not implemented: f16_f128
stack backtrace:
   0:     0x7f006f963912 - std::backtrace_rs::backtrace::libunwind::trace::hfb67e397a2d79bf6
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7f006f963912 - std::backtrace_rs::backtrace::trace_unsynchronized::hb900027543c0664d
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f006f963912 - std::sys_common::backtrace::_print_fmt::hd3a7bd10b2dbb7a2
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7f006f963912 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he85321ead13b54e2
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f006f9b4c8c - core::fmt::rt::Argument::fmt::h0bc0fca72ec6160d
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/core/src/fmt/rt.rs:142:9
   5:     0x7f006f9b4c8c - core::fmt::write::ha791bec9376ee18e
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/core/src/fmt/mod.rs:1153:17
   6:     0x7f006f95880f - std::io::Write::write_fmt::h042ac5ef2add44b5
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/io/mod.rs:1843:15
   7:     0x7f006f9636e4 - std::sys_common::backtrace::_print::h398ade190e58a268
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f006f9636e4 - std::sys_common::backtrace::print::h4965889839a0e456
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f006f9663eb - std::panicking::default_hook::{{closure}}::h03c5a9b57e29c8bd
  10:     0x7f006f966143 - std::panicking::default_hook::haa39de978c4d4cb4
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/panicking.rs:292:9
  11:     0x7f006c5b39ee - std[4af49b999d7e887a]::panicking::update_hook::<alloc[f09f849a16bdc2b1]::boxed::Box<rustc_driver_impl[38d4561b07f32730]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7f006f966b50 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3cb59727ca48257b
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/alloc/src/boxed.rs:2034:9
  13:     0x7f006f966b50 - std::panicking::rust_panic_with_hook::h06a630682bf4c8f9
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/panicking.rs:783:13
  14:     0x7f006f966859 - std::panicking::begin_panic_handler::{{closure}}::hd7f55e85f3df5a5e
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/panicking.rs:649:13
  15:     0x7f006f963de6 - std::sys_common::backtrace::__rust_end_short_backtrace::h4b313dbb2e47ec89
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7f006f9665c4 - rust_begin_unwind
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/panicking.rs:645:5
  17:     0x7f006f9b11a5 - core::panicking::panic_fmt::hbd38fdaf62d88af9
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/core/src/panicking.rs:72:14
  18:     0x563ce62b0dec - <clippy_lints[87cb8f7c960e2af8]::float_literal::FloatLiteral as rustc_lint[8ec0a3d643a79773]::passes::LateLintPass>::check_expr
  19:     0x7f006c944f82 - <rustc_lint[8ec0a3d643a79773]::late::LateContextAndPass<rustc_lint[8ec0a3d643a79773]::late::RuntimeCombinedLateLintPass> as rustc_hir[8460a15472185f08]::intravisit::Visitor>::visit_expr::{closure#0}
  20:     0x7f006c944e18 - <rustc_lint[8ec0a3d643a79773]::late::LateContextAndPass<rustc_lint[8ec0a3d643a79773]::late::RuntimeCombinedLateLintPass> as rustc_hir[8460a15472185f08]::intravisit::Visitor>::visit_expr
  21:     0x7f006c944d18 - <rustc_lint[8ec0a3d643a79773]::late::LateContextAndPass<rustc_lint[8ec0a3d643a79773]::late::RuntimeCombinedLateLintPass> as rustc_hir[8460a15472185f08]::intravisit::Visitor>::visit_nested_body
  22:     0x7f006c934392 - <rustc_lint[8ec0a3d643a79773]::late::LateContextAndPass<rustc_lint[8ec0a3d643a79773]::late::RuntimeCombinedLateLintPass> as rustc_hir[8460a15472185f08]::intravisit::Visitor>::visit_nested_item
  23:     0x7f006c933352 - <rustc_lint[8ec0a3d643a79773]::late::LateContextAndPass<rustc_lint[8ec0a3d643a79773]::late::RuntimeCombinedLateLintPass> as rustc_hir[8460a15472185f08]::intravisit::Visitor>::visit_nested_item
  24:     0x7f006e1cc372 - rustc_lint[8ec0a3d643a79773]::late::check_crate::{closure#0}
  25:     0x7f006e1cc5b3 - rustc_lint[8ec0a3d643a79773]::late::check_crate
  26:     0x7f006e1af1f5 - rustc_interface[baa36353ef4d859f]::passes::analysis
  27:     0x7f006e1ae7e5 - rustc_query_impl[1d92c28ac94b67d9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[1d92c28ac94b67d9]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1d722b26b5c826bf]::query::erase::Erased<[u8; 1usize]>>
  28:     0x7f006e6006e5 - rustc_query_system[19a76085ae3c9fe1]::query::plumbing::try_execute_query::<rustc_query_impl[1d92c28ac94b67d9]::DynamicConfig<rustc_query_system[19a76085ae3c9fe1]::query::caches::SingleCache<rustc_middle[1d722b26b5c826bf]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[1d92c28ac94b67d9]::plumbing::QueryCtxt, false>
  29:     0x7f006e600449 - rustc_query_impl[1d92c28ac94b67d9]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  30:     0x7f006e367084 - rustc_interface[baa36353ef4d859f]::interface::run_compiler::<core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>, rustc_driver_impl[38d4561b07f32730]::run_compiler::{closure#0}>::{closure#0}
  31:     0x7f006e8538c5 - std[4af49b999d7e887a]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[baa36353ef4d859f]::util::run_in_thread_with_globals<rustc_interface[baa36353ef4d859f]::util::run_in_thread_pool_with_globals<rustc_interface[baa36353ef4d859f]::interface::run_compiler<core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>, rustc_driver_impl[38d4561b07f32730]::run_compiler::{closure#0}>::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>
  32:     0x7f006e8536f2 - <<std[4af49b999d7e887a]::thread::Builder>::spawn_unchecked_<rustc_interface[baa36353ef4d859f]::util::run_in_thread_with_globals<rustc_interface[baa36353ef4d859f]::util::run_in_thread_pool_with_globals<rustc_interface[baa36353ef4d859f]::interface::run_compiler<core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>, rustc_driver_impl[38d4561b07f32730]::run_compiler::{closure#0}>::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7265e5c29e97a4f9]::result::Result<(), rustc_span[98fd467b3f5fb84]::ErrorGuaranteed>>::{closure#1} as core[7265e5c29e97a4f9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  33:     0x7f006f9701e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1dc87ff82f4c2d61
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/alloc/src/boxed.rs:2020:9
  34:     0x7f006f9701e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h10dfae22642aac72
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/alloc/src/boxed.rs:2020:9
  35:     0x7f006f9701e5 - std::sys::pal::unix::thread::Thread::new::thread_start::hfe0706a963f1853a
                               at /rustc/c563f2ee799b285067124b516ce99f26063f8351/library/std/src/sys/pal/unix/thread.rs:108:17
  36:     0x7f0069294ac3 - start_thread
                               at ./nptl/pthread_create.c:442:8
  37:     0x7f0069326850 - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  38:                0x0 - <unknown>

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

note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new?template=ice.yml

note: please attach the file at `/home/gh-matthiaskrgr/vcs/github/rust_icemaker/rustc-ice-2024-03-16T09_08_43-265551.txt` to your bug report

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
note: Clippy version: clippy 0.1.78 (c563f2e 2024-03-16)

Activity

  1. added
    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    C-bugCategory: This is a bug.
    on Mar 16, 2024
  2. added
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Mar 16, 2024
  3. Noratrieb commented on Mar 16, 2024

    @Noratrieb
    Member

    that's expected, the float types are still being added and will panic, please don't fuzz them yet.

  4. matthiaskrgr commented on Mar 16, 2024

    @matthiaskrgr
    MemberAuthor

    the file is from the rustc repo, have you not read the ticket?

  5. Noratrieb commented on Mar 16, 2024

    @Noratrieb
    Member

    Yes, the file tests that float name resolution works. A lot of areas, including clippy, are stubbed out with todo!() for now, so it's expected that clippy would die on such a file.

  6. matthiaskrgr commented on Mar 16, 2024

    @matthiaskrgr
    MemberAuthor

    mvce:

    const b: f16 = 0.0f16;
    pub fn main() {
       let b = 0.0f16;
    }
  7. added
    S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issue
    and removed
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Mar 17, 2024
  8. 30 remaining items

  9. matthiaskrgr commented on Jun 21, 2024

    @matthiaskrgr
    MemberAuthor

    @tgross35

    //@ revisions: e2015 e2018
    //
    //@[e2018] edition:2018
    
    #![allow(unused)]
    
    const b: f16 = 10.0; //~ ERROR the type `f16` is unstable
    
    pub fn main() {
        let a: f16 = 100.0; //~ ERROR the type `f16` is unstable
        let b = 0.0f16; //~ ERROR the type `f16` is unstable
        foo(1.23);
    }
    
    fn foo(a: f16) {} //~ ERROR the type `f16` is unstable
    
    struct Bar {
        a: f16, //~ ERROR the type `f16` is unstable
    }
    
  10. tgross35 commented on Jun 21, 2024

    @tgross35
    Member

    Ah, that last ICE point should be covered by #123088. Is there something edition-specific?

  11. matthiaskrgr commented on Jun 21, 2024

    @matthiaskrgr
    MemberAuthor

    minimized with auto-generated report:

    auto-reduced (treereduce-rust):

    const b: f16 = 10.0;
    
    pub fn main() {
        let b = 0.0f16;
        foo(1.23);
    }
    
    fn foo(a: f16) {}
    

    original:

    //@ revisions: e2015 e2018
    //
    //@[e2018] edition:2018
    
    #![allow(unused)]
    
    const b: f16 = 10.0; //~ ERROR the type `f16` is unstable
    
    pub fn main() {
        let a: f16 = 100.0; //~ ERROR the type `f16` is unstable
        let b = 0.0f16; //~ ERROR the type `f16` is unstable
        foo(1.23);
    }
    
    fn foo(a: f16) {} //~ ERROR the type `f16` is unstable
    
    struct Bar {
        a: f16, //~ ERROR the type `f16` is unstable
    }

    Version information

    rustc 1.81.0-nightly (7a08f8462 2024-06-21)
    binary: rustc
    commit-hash: 7a08f84627ff3035de4d66ff3209e5fc93165dcb
    commit-date: 2024-06-21
    host: x86_64-unknown-linux-gnu
    release: 1.81.0-nightly
    LLVM version: 18.1.7
    
    

    Command:
    /home/matthias/.rustup/toolchains/master/bin/rustc

    Program output

    error[E0658]: the type `f16` is unstable
     --> /tmp/icemaker_global_tempdir.OrU0ZATgnOnE/rustc_testrunner_tmpdir_reporting.COrE24FNzM7e/mvce.rs:3:10
      |
    3 | const b: f16 = 10.0;
      |          ^^^
      |
      = note: see issue #116909 <https://github.com/rust-lang/rust/issues/116909> for more information
      = help: add `#![feature(f16)]` to the crate attributes to enable
      = note: this compiler was built on 2024-06-21; consider upgrading it if it is out of date
    
    error[E0658]: the type `f16` is unstable
      --> /tmp/icemaker_global_tempdir.OrU0ZATgnOnE/rustc_testrunner_tmpdir_reporting.COrE24FNzM7e/mvce.rs:10:11
       |
    10 | fn foo(a: f16) {}
       |           ^^^
       |
       = note: see issue #116909 <https://github.com/rust-lang/rust/issues/116909> for more information
       = help: add `#![feature(f16)]` to the crate attributes to enable
       = note: this compiler was built on 2024-06-21; consider upgrading it if it is out of date
    
    error[E0658]: the type `f16` is unstable
     --> /tmp/icemaker_global_tempdir.OrU0ZATgnOnE/rustc_testrunner_tmpdir_reporting.COrE24FNzM7e/mvce.rs:6:13
      |
    6 |     let b = 0.0f16;
      |             ^^^^^^
      |
      = note: see issue #116909 <https://github.com/rust-lang/rust/issues/116909> for more information
      = help: add `#![feature(f16)]` to the crate attributes to enable
      = note: this compiler was built on 2024-06-21; consider upgrading it if it is out of date
    
    thread 'rustc' panicked at compiler/rustc_mir_build/src/thir/pattern/const_to_pat.rs:372:41:
    not implemented: f16_f128
    stack backtrace:
       0:     0x7f45e94e0125 - std::backtrace_rs::backtrace::libunwind::trace::h9e1143c4e8814665
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
       1:     0x7f45e94e0125 - std::backtrace_rs::backtrace::trace_unsynchronized::hb17bc278e78560b7
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
       2:     0x7f45e94e0125 - std::sys::backtrace::_print_fmt::h4e16a804d4b72d53
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/backtrace.rs:68:5
       3:     0x7f45e94e0125 - <std::sys::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h51c8a417deba034f
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/backtrace.rs:44:22
       4:     0x7f45e952fabb - core::fmt::rt::Argument::fmt::h9e6273a38f90b346
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/core/src/fmt/rt.rs:165:63
       5:     0x7f45e952fabb - core::fmt::write::hf6893e6e0de45566
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/core/src/fmt/mod.rs:1168:21
       6:     0x7f45e94d4dbf - std::io::Write::write_fmt::h939622d51aaa7841
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/io/mod.rs:1835:15
       7:     0x7f45e94dfefe - std::sys::backtrace::_print::h41aa84b32d700697
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/backtrace.rs:47:5
       8:     0x7f45e94dfefe - std::sys::backtrace::print::h121fd5e3d688a475
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/backtrace.rs:34:9
       9:     0x7f45e94e2939 - std::panicking::default_hook::{{closure}}::hc22a77172f8c8931
      10:     0x7f45e94e26dc - std::panicking::default_hook::hd8d9aec7eb6a0fc3
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/panicking.rs:292:9
      11:     0x7f45e59ff260 - std[3295baff09c0d5bb]::panicking::update_hook::<alloc[82b9802ee0afb8ed]::boxed::Box<rustc_driver_impl[95dae7b6d33859ab]::install_ice_hook::{closure#0}>>::{closure#0}
      12:     0x7f45e94e320f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h35d67e64a0b3c43b
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/alloc/src/boxed.rs:2076:9
      13:     0x7f45e94e320f - std::panicking::rust_panic_with_hook::h086bae967523d34e
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/panicking.rs:804:13
      14:     0x7f45e94e2e03 - std::panicking::begin_panic_handler::{{closure}}::hfeac2910cd533be9
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/panicking.rs:663:13
      15:     0x7f45e94e05e9 - std::sys::backtrace::__rust_end_short_backtrace::h717a4b25b81802d4
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/backtrace.rs:171:18
      16:     0x7f45e94e2b14 - rust_begin_unwind
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/panicking.rs:661:5
      17:     0x7f45e952c073 - core::panicking::panic_fmt::h51c9ea6079c2a1f6
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/core/src/panicking.rs:74:14
      18:     0x7f45e7808767 - <rustc_mir_build[52246727d5d8c4e9]::thir::pattern::const_to_pat::ConstToPat>::recur
      19:     0x7f45e7806dce - <rustc_mir_build[52246727d5d8c4e9]::thir::pattern::PatCtxt>::const_to_pat
      20:     0x7f45e780cc72 - <rustc_mir_build[52246727d5d8c4e9]::thir::pattern::PatCtxt>::lower_path
      21:     0x7f45e7809bc0 - <rustc_mir_build[52246727d5d8c4e9]::thir::pattern::PatCtxt>::lower_pattern
      22:     0x7f45e780f097 - <rustc_mir_build[52246727d5d8c4e9]::thir::cx::Cx>::mirror_stmts::{closure#0}
      23:     0x7f45e7811d3d - <rustc_mir_build[52246727d5d8c4e9]::thir::cx::Cx>::mirror_expr
      24:     0x7f45e736df9a - rustc_mir_build[52246727d5d8c4e9]::thir::cx::thir_body
      25:     0x7f45e736d996 - rustc_query_impl[b1aaa56dbebc295e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b1aaa56dbebc295e]::query_impl::thir_body::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 16usize]>>
      26:     0x7f45e75f68d7 - rustc_query_system[748b288d756e32e1]::query::plumbing::try_execute_query::<rustc_query_impl[b1aaa56dbebc295e]::DynamicConfig<rustc_query_system[748b288d756e32e1]::query::caches::VecCache<rustc_span[6aa011f1c2e52b2d]::def_id::LocalDefId, rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[b1aaa56dbebc295e]::plumbing::QueryCtxt, false>
      27:     0x7f45e75f6528 - rustc_query_impl[b1aaa56dbebc295e]::query_impl::thir_body::get_query_non_incr::__rust_end_short_backtrace
      28:     0x7f45e7321194 - rustc_mir_build[52246727d5d8c4e9]::check_unsafety::check_unsafety
      29:     0x7f45e7320feb - rustc_query_impl[b1aaa56dbebc295e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b1aaa56dbebc295e]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 0usize]>>
      30:     0x7f45e7320197 - rustc_query_system[748b288d756e32e1]::query::plumbing::try_execute_query::<rustc_query_impl[b1aaa56dbebc295e]::DynamicConfig<rustc_query_system[748b288d756e32e1]::query::caches::VecCache<rustc_span[6aa011f1c2e52b2d]::def_id::LocalDefId, rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[b1aaa56dbebc295e]::plumbing::QueryCtxt, false>
      31:     0x7f45e731fddb - rustc_query_impl[b1aaa56dbebc295e]::query_impl::check_unsafety::get_query_non_incr::__rust_end_short_backtrace
      32:     0x7f45e7324eac - rustc_interface[776f974ef9e2f82a]::passes::analysis
      33:     0x7f45e7323f95 - rustc_query_impl[b1aaa56dbebc295e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b1aaa56dbebc295e]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 1usize]>>
      34:     0x7f45e7e1ea25 - rustc_query_system[748b288d756e32e1]::query::plumbing::try_execute_query::<rustc_query_impl[b1aaa56dbebc295e]::DynamicConfig<rustc_query_system[748b288d756e32e1]::query::caches::SingleCache<rustc_middle[c3dffb16c28c77a7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[b1aaa56dbebc295e]::plumbing::QueryCtxt, false>
      35:     0x7f45e7e1e78f - rustc_query_impl[b1aaa56dbebc295e]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
      36:     0x7f45e7d1089b - rustc_interface[776f974ef9e2f82a]::interface::run_compiler::<core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>, rustc_driver_impl[95dae7b6d33859ab]::run_compiler::{closure#0}>::{closure#1}
      37:     0x7f45e7cae489 - std[3295baff09c0d5bb]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[776f974ef9e2f82a]::util::run_in_thread_with_globals<rustc_interface[776f974ef9e2f82a]::util::run_in_thread_pool_with_globals<rustc_interface[776f974ef9e2f82a]::interface::run_compiler<core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>, rustc_driver_impl[95dae7b6d33859ab]::run_compiler::{closure#0}>::{closure#1}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>::{closure#0}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>
      38:     0x7f45e7cae23a - <<std[3295baff09c0d5bb]::thread::Builder>::spawn_unchecked_<rustc_interface[776f974ef9e2f82a]::util::run_in_thread_with_globals<rustc_interface[776f974ef9e2f82a]::util::run_in_thread_pool_with_globals<rustc_interface[776f974ef9e2f82a]::interface::run_compiler<core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>, rustc_driver_impl[95dae7b6d33859ab]::run_compiler::{closure#0}>::{closure#1}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>::{closure#0}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[da71afae28a7f9d6]::result::Result<(), rustc_span[6aa011f1c2e52b2d]::ErrorGuaranteed>>::{closure#2} as core[da71afae28a7f9d6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
      39:     0x7f45e94ecf7b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1fb027f994355977
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/alloc/src/boxed.rs:2062:9
      40:     0x7f45e94ecf7b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc8362453264a063b
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/alloc/src/boxed.rs:2062:9
      41:     0x7f45e94ecf7b - std::sys::pal::unix::thread::Thread::new::thread_start::h961cc5e79f30aa83
                                   at /rustc/7a08f84627ff3035de4d66ff3209e5fc93165dcb/library/std/src/sys/pal/unix/thread.rs:108:17
      42:     0x7f45e9282ded - <unknown>
      43:     0x7f45e93060dc - <unknown>
      44:                0x0 - <unknown>
    
    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: please make sure that you have updated to the latest nightly
    
    note: rustc 1.81.0-nightly (7a08f8462 2024-06-21) running on x86_64-unknown-linux-gnu
    
    query stack during panic:
    #0 [thir_body] building THIR for `main`
    #1 [check_unsafety] unsafety-checking `main`
    end of query stack
    warning: unused variable: `a`
      --> /tmp/icemaker_global_tempdir.OrU0ZATgnOnE/rustc_testrunner_tmpdir_reporting.COrE24FNzM7e/mvce.rs:10:8
       |
    10 | fn foo(a: f16) {}
       |        ^ help: if this is intentional, prefix it with an underscore: `_a`
       |
       = note: `#[warn(unused_variables)]` on by default
    
    error: aborting due to 3 previous errors; 1 warning emitted
    
    For more information about this error, try `rustc --explain E0658`.
    
    

  12. matthiaskrgr commented on Jun 21, 2024

    @matthiaskrgr
    MemberAuthor

    does not seem to be edition dependant.

  13. tgross35 commented on Jun 26, 2024

    @tgross35
    Member

    @matthiaskrgr no more 🧊 in the latest nightly, a previously-panicking test was included in https://github.com/rust-lang/rust/blob/fda509e817abeeecb5b76bc1de844f355675c81e/tests/ui/consts/const_in_pattern/f16-f128-const-reassign.rs.

    Could we close this broad-ish issue and just open new ones if new ICEs pop up? (There are some unimplemented!s floating around in const casting and math still, but hopefully gone in the next few weeks)

  14. matthiaskrgr commented on Jun 26, 2024

    @matthiaskrgr
    MemberAuthor

    Cranelift still has problems, but I dunno if you want to tackle this 😅
    thread 'rustc' panicked at src/common.rs:67:29: 'not implemented: f16_f128''

  15. tgross35 commented on Jun 26, 2024

    @tgross35
    Member

    Yeah, lower priority :) rust-lang/rustc_codegen_cranelift#1461 is tracking that one. cg_gcc has the issue too but that one is fixed in the rustc_codegen_gcc repo, just waiting on a sync.

  16. tgross35 commented on Jul 19, 2024

    @tgross35
    Member

    Going to close this since the obvious codepaths have been taken care of, anything less obvious is probably better off in its own issue.

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

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.F-f16_and_f128`#![feature(f16)]`, `#![feature(f128)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-lowLow priorityS-bug-has-testStatus: This bug is tracked inside the repo by a `known-bug` test.S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions