Skip to content

ICE: not yet implemented: Variant() #143120

Open
@matthiaskrgr

Description

@matthiaskrgr

auto-reduced (treereduce-rust):

enum EnumWithStrippedTupleVariants {
    DoubleSecondHidden(_),
}

original:

enum EnumWithStrippedTupleVariants { DoubleSecondHidden(_) }

Version information

rustc 1.90.0-nightly (fe5f3dedf 2025-06-27)
binary: rustc
commit-hash: fe5f3dedf7b4d6bea2cadb17343f747d70b4c66b
commit-date: 2025-06-27
host: x86_64-unknown-linux-gnu
release: 1.90.0-nightly
LLVM version: 20.1.7

Possibly related line of code:

Node::Item(it) => it.kind.descr(),
Node::ImplItem(it) => it.kind.descr(),
Node::TraitItem(it) => it.kind.descr(),
Node::ForeignItem(it) => it.kind.descr(),
Node::OpaqueTy(_) => "opaque type",
Node::Synthetic => self.tcx.def_descr(kind_id.into()),
node => todo!("{node:#?}"),
};
let mut diag = placeholder_type_error_diag(
self,
generics,
placeholder_types,
infer_replacements.iter().map(|&(span, _)| span).collect(),

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

Program output

error[E0601]: `main` function not found in crate `mvce`
 --> /tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs:3:2
  |
3 | }
  |  ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs`


thread 'rustc' panicked at compiler/rustc_hir_analysis/src/collect.rs:289:21:
not yet implemented: Variant(
    Variant {
        ident: DoubleSecondHidden#0,
        hir_id: HirId(DefId(0:3 ~ mvce[663d]::EnumWithStrippedTupleVariants).1),
        def_id: DefId(0:4 ~ mvce[663d]::EnumWithStrippedTupleVariants::DoubleSecondHidden),
        data: Tuple(
            [
                FieldDef {
                    span: /tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs:2:24: 2:25 (#0),
                    vis_span: /tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs:2:24: 2:24 (#0),
                    ident: 0#0,
                    hir_id: HirId(DefId(0:3 ~ mvce[663d]::EnumWithStrippedTupleVariants).4),
                    def_id: DefId(0:6 ~ mvce[663d]::EnumWithStrippedTupleVariants::DoubleSecondHidden::0),
                    ty: Ty {
                        hir_id: HirId(DefId(0:3 ~ mvce[663d]::EnumWithStrippedTupleVariants).3),
                        span: /tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs:2:24: 2:25 (#0),
                        kind: Infer(
                            (),
                        ),
                    },
                    safety: Safe,
                    default: None,
                },
            ],
            HirId(DefId(0:3 ~ mvce[663d]::EnumWithStrippedTupleVariants).2),
            DefId(0:5 ~ mvce[663d]::EnumWithStrippedTupleVariants::DoubleSecondHidden::{constructor#0}),
        ),
        disr_expr: None,
        span: /tmp/icemaker_global_tempdir.dcXbSQXQpHFT/rustc_testrunner_tmpdir_reporting.W6UqCWZKQBOT/mvce.rs:2:5: 2:26 (#0),
    },
)
stack backtrace:
   0:     0x7114947096f3 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h48b24be8297e4a9c
   1:     0x711494e02c37 - core::fmt::write::h44ef114fca1e3410
   2:     0x7114946ff213 - std::io::Write::write_fmt::h48f3596bb626dcaa
   3:     0x711494709552 - std::sys::backtrace::BacktraceLock::print::h08fe9f4d0c0a723f
   4:     0x71149470d04a - std::panicking::default_hook::{{closure}}::h470a325c2f4bb1be
   5:     0x71149470cbcf - std::panicking::default_hook::h375895b5d6b84766
   6:     0x7114937ea173 - std[7a7d327c4bb6bc11]::panicking::update_hook::<alloc[95fe608572e1da2a]::boxed::Box<rustc_driver_impl[1d35d6f9d2799e05]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x71149470d89b - std::panicking::rust_panic_with_hook::h3f9361c44c0dd63d
   8:     0x71149470d59a - std::panicking::begin_panic_handler::{{closure}}::h41deddaca67ae8d6
   9:     0x711494709bb9 - std::sys::backtrace::__rust_end_short_backtrace::h2dd9ad5dc4cc4fa5
  10:     0x71149470d27d - __rustc[3ae21c2c7f4e199c]::rust_begin_unwind
  11:     0x711490e9de00 - core::panicking::panic_fmt::h8637c6bcc3f35627
  12:     0x711493998937 - <rustc_hir_analysis[bda1b381e8c255de]::collect::ItemCtxt>::report_placeholder_type_error
  13:     0x711493998cf7 - <rustc_hir_analysis[bda1b381e8c255de]::collect::ItemCtxt as rustc_hir_analysis[bda1b381e8c255de]::hir_ty_lowering::HirTyLowerer>::ty_infer
  14:     0x7114956c6073 - <dyn rustc_hir_analysis[bda1b381e8c255de]::hir_ty_lowering::HirTyLowerer>::lower_ty
  15:     0x7114956afb2f - rustc_hir_analysis[bda1b381e8c255de]::collect::type_of::type_of
  16:     0x711494e471e4 - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 8usize]>>
  17:     0x711494e45c65 - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::DefIdCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  18:     0x711494e4581d - rustc_query_impl[a46554db2076a7e1]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
  19:     0x7114956e1564 - rustc_hir_analysis[bda1b381e8c255de]::outlives::inferred_outlives_crate
  20:     0x7114960302e0 - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::inferred_outlives_crate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 8usize]>>
  21:     0x711495eb2d41 - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::SingleCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  22:     0x711495eb20c0 - rustc_query_impl[a46554db2076a7e1]::query_impl::inferred_outlives_crate::get_query_non_incr::__rust_end_short_backtrace
  23:     0x711494fc2e94 - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::inferred_outlives_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 16usize]>>
  24:     0x711494fc1cb0 - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::DefIdCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  25:     0x711494fc16fe - rustc_query_impl[a46554db2076a7e1]::query_impl::inferred_outlives_of::get_query_non_incr::__rust_end_short_backtrace
  26:     0x711494fcaba2 - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::predicates_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 24usize]>>
  27:     0x711494fcbe05 - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::DefIdCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  28:     0x711494fcb622 - rustc_query_impl[a46554db2076a7e1]::query_impl::predicates_of::get_query_non_incr::__rust_end_short_backtrace
  29:     0x7114957e32c9 - rustc_hir_analysis[bda1b381e8c255de]::check::wfcheck::check_item
  30:     0x7114957d9bd9 - rustc_hir_analysis[bda1b381e8c255de]::check::wfcheck::check_well_formed
  31:     0x7114957d9a59 - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 1usize]>>
  32:     0x7114957d928d - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_data_structures[d5f78031b72118ca]::vec_cache::VecCache<rustc_span[dd092a92122222c1]::def_id::LocalDefId, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[9da031a4e4fdb32b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  33:     0x7114957d8dc2 - rustc_query_impl[a46554db2076a7e1]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  34:     0x7114957d651f - rustc_hir_analysis[bda1b381e8c255de]::check::wfcheck::check_type_wf
  35:     0x7114957d641d - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 1usize]>>
  36:     0x711495eaf9f0 - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::SingleCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  37:     0x711495eaf7ce - rustc_query_impl[a46554db2076a7e1]::query_impl::check_type_wf::get_query_non_incr::__rust_end_short_backtrace
  38:     0x71149500343a - rustc_hir_analysis[bda1b381e8c255de]::check_crate
  39:     0x7114950077a7 - rustc_interface[b6aba49ee050940e]::passes::analysis
  40:     0x7114950073cb - rustc_query_impl[a46554db2076a7e1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a46554db2076a7e1]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 0usize]>>
  41:     0x711495eb113c - rustc_query_system[9da031a4e4fdb32b]::query::plumbing::try_execute_query::<rustc_query_impl[a46554db2076a7e1]::DynamicConfig<rustc_query_system[9da031a4e4fdb32b]::query::caches::SingleCache<rustc_middle[421a23b7571f26a5]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[a46554db2076a7e1]::plumbing::QueryCtxt, false>
  42:     0x711495eb0e12 - rustc_query_impl[a46554db2076a7e1]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  43:     0x7114960a99d6 - rustc_interface[b6aba49ee050940e]::passes::create_and_enter_global_ctxt::<core[df8911376af37c8c]::option::Option<rustc_interface[b6aba49ee050940e]::queries::Linker>, rustc_driver_impl[1d35d6f9d2799e05]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  44:     0x71149609ae2f - rustc_interface[b6aba49ee050940e]::interface::run_compiler::<(), rustc_driver_impl[1d35d6f9d2799e05]::run_compiler::{closure#0}>::{closure#1}
  45:     0x7114960460b8 - std[7a7d327c4bb6bc11]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[b6aba49ee050940e]::util::run_in_thread_with_globals<rustc_interface[b6aba49ee050940e]::util::run_in_thread_pool_with_globals<rustc_interface[b6aba49ee050940e]::interface::run_compiler<(), rustc_driver_impl[1d35d6f9d2799e05]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  46:     0x711496045d96 - <<std[7a7d327c4bb6bc11]::thread::Builder>::spawn_unchecked_<rustc_interface[b6aba49ee050940e]::util::run_in_thread_with_globals<rustc_interface[b6aba49ee050940e]::util::run_in_thread_pool_with_globals<rustc_interface[b6aba49ee050940e]::interface::run_compiler<(), rustc_driver_impl[1d35d6f9d2799e05]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[df8911376af37c8c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  47:     0x7114960443bd - std::sys::pal::unix::thread::Thread::new::thread_start::h10083fa6b51603a6
  48:     0x71148faa57eb - <unknown>
  49:     0x71148fb2918c - <unknown>
  50:                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.90.0-nightly (fe5f3dedf 2025-06-27) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [type_of] computing type of `EnumWithStrippedTupleVariants::DoubleSecondHidden::0`
#1 [inferred_outlives_crate] computing the inferred outlives-predicates for items in this crate
#2 [inferred_outlives_of] computing inferred outlives-predicates of `EnumWithStrippedTupleVariants`
#3 [predicates_of] computing predicates of `EnumWithStrippedTupleVariants`
#4 [check_well_formed] checking that `EnumWithStrippedTupleVariants` is well-formed
#5 [check_type_wf] checking that types are well-formed
#6 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0601`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-has-bisectionStatus: A bisection has been found for this issueS-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.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions