Skip to content

ICE: unexpected sort of node in fn_sig(): ImplItem(ImplItem #140484

Open
@matthiaskrgr

Description

@matthiaskrgr

Code

#![feature(async_drop)]
use std::future::AsyncDrop;
struct a;
impl Drop for a {
    fn b() {}
}
impl AsyncDrop for a {
    type c;
}
async fn bar() {
    a;
}

Meta

rustc --version --verbose:

rustc 1.88.0-nightly (25cdf1f67 2025-04-28)
binary: rustc
commit-hash: 25cdf1f67463c9365d8d83778c933ec7480e940b
commit-date: 2025-04-28
host: x86_64-unknown-linux-gnu
release: 1.88.0-nightly
LLVM version: 20.1.2

Error output

<output>
Backtrace

error: associated type in `impl` without body
 --> a.rs:8:5
  |
8 |     type c;
  |     ^^^^^^-
  |           |
  |           help: provide a definition for the type: `= <type>;`

error[E0407]: method `b` is not a member of trait `Drop`
 --> a.rs:5:5
  |
5 |     fn b() {}
  |     ^^^^^^^^^ not a member of trait `Drop`

error[E0437]: type `c` is not a member of trait `AsyncDrop`
 --> a.rs:8:5
  |
8 |     type c;
  |     ^^^^^^^ not a member of trait `AsyncDrop`

warning: the feature `async_drop` is incomplete and may not be safe to use and/or cause compiler crashes
 --> a.rs:1:12
  |
1 | #![feature(async_drop)]
  |            ^^^^^^^^^^
  |
  = note: see issue #126482 <https://github.com/rust-lang/rust/issues/126482> for more information
  = note: `#[warn(incomplete_features)]` on by default

warning: type `a` should have an upper camel case name
 --> a.rs:3:8
  |
3 | struct a;
  |        ^ help: convert the identifier to upper camel case: `A`
  |
  = note: `#[warn(non_camel_case_types)]` on by default

error[E0601]: `main` function not found in crate `a`
  --> a.rs:12:2
   |
12 | }
   |  ^ consider adding a `main` function to `a.rs`

error[E0046]: not all trait items implemented, missing: `drop`
 --> a.rs:4:1
  |
4 | impl Drop for a {
  | ^^^^^^^^^^^^^^^ missing `drop` in implementation
  |
  = help: implement the missing item: `fn drop(&mut self) { todo!() }`

error[E0046]: not all trait items implemented, missing: `drop`
 --> a.rs:7:1
  |
7 | impl AsyncDrop for a {
  | ^^^^^^^^^^^^^^^^^^^^ missing `drop` in implementation
  |
  = help: implement the missing item: `async fn drop(self: Pin<&mut Self>) { todo!() }`

error: internal compiler error: compiler/rustc_hir_analysis/src/collect.rs:1376:13: unexpected sort of node in fn_sig(): ImplItem(ImplItem { ident: c#0, owner_id: DefId(0:9 ~ a[0319]::{impl#1}::c), generics: Generics { params: [], predicates: [], has_where_clause_predicates: false, where_clause_span: a.rs:8:11: 8:11 (#0), span: a.rs:8:11: 8:11 (#0) }, kind: Type(Ty { hir_id: HirId(DefId(0:9 ~ a[0319]::{impl#1}::c).1), span: a.rs:8:5: 8:12 (#0), kind: Err(ErrorGuaranteed(())) }), defaultness: Final, span: a.rs:8:5: 8:12 (#0), vis_span: a.rs:8:5: 8:5 (#0) })


thread 'rustc' panicked at compiler/rustc_hir_analysis/src/collect.rs:1376:13:
Box<dyn Any>
stack backtrace:
   0:     0x79c4c7109413 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hd74fdb4a7f001d5e
   1:     0x79c4c78059c7 - core::fmt::write::h39cdbee3ed36675d
   2:     0x79c4c8c45111 - std::io::Write::write_fmt::h3d221ff56818d1dd
   3:     0x79c4c7109272 - std::sys::backtrace::BacktraceLock::print::he77ca3c0db1e98a1
   4:     0x79c4c710d0ba - std::panicking::default_hook::{{closure}}::h239a47c5c2a6a6da
   5:     0x79c4c710cc3f - std::panicking::default_hook::h2c7c14ab2f340054
   6:     0x79c4c6185883 - std[96024a80e4ce12a0]::panicking::update_hook::<alloc[703cfcb04acfdfda]::boxed::Box<rustc_driver_impl[a2bbb3d7e654019c]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x79c4c710d933 - std::panicking::rust_panic_with_hook::h7afddb00f409503c
   8:     0x79c4c61c1241 - std[96024a80e4ce12a0]::panicking::begin_panic::<rustc_errors[c4bb5e76f42fc126]::ExplicitBug>::{closure#0}
   9:     0x79c4c61b5116 - std[96024a80e4ce12a0]::sys::backtrace::__rust_end_short_backtrace::<std[96024a80e4ce12a0]::panicking::begin_panic<rustc_errors[c4bb5e76f42fc126]::ExplicitBug>::{closure#0}, !>
  10:     0x79c4c61b5103 - std[96024a80e4ce12a0]::panicking::begin_panic::<rustc_errors[c4bb5e76f42fc126]::ExplicitBug>
  11:     0x79c4c61cb8a1 - <rustc_errors[c4bb5e76f42fc126]::diagnostic::BugAbort as rustc_errors[c4bb5e76f42fc126]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:     0x79c4c6802f9a - rustc_middle[41c039613f3f9b63]::util::bug::opt_span_bug_fmt::<rustc_span[bce202135c071ebd]::span_encoding::Span>::{closure#0}
  13:     0x79c4c67de82a - rustc_middle[41c039613f3f9b63]::ty::context::tls::with_opt::<rustc_middle[41c039613f3f9b63]::util::bug::opt_span_bug_fmt<rustc_span[bce202135c071ebd]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x79c4c67de69b - rustc_middle[41c039613f3f9b63]::ty::context::tls::with_context_opt::<rustc_middle[41c039613f3f9b63]::ty::context::tls::with_opt<rustc_middle[41c039613f3f9b63]::util::bug::opt_span_bug_fmt<rustc_span[bce202135c071ebd]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x79c4c3a8db60 - rustc_middle[41c039613f3f9b63]::util::bug::bug_fmt
  16:     0x79c4c7e6024e - rustc_hir_analysis[c9504cb83f49b87f]::collect::fn_sig
  17:     0x79c4c7c1e8d7 - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::fn_sig::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 24usize]>>
  18:     0x79c4c7c1e8a3 - <rustc_query_impl[b776171e91563e8b]::query_impl::fn_sig::dynamic_query::{closure#2} as core[6d7144d1d4266374]::ops::function::FnOnce<(rustc_middle[41c039613f3f9b63]::ty::context::TyCtxt, rustc_span[bce202135c071ebd]::def_id::DefId)>>::call_once
  19:     0x79c4c7c2064d - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefIdCache<rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  20:     0x79c4c7c1fd62 - rustc_query_impl[b776171e91563e8b]::query_impl::fn_sig::get_query_non_incr::__rust_end_short_backtrace
  21:     0x79c4c7835a44 - <rustc_middle[41c039613f3f9b63]::ty::Ty>::fn_sig
  22:     0x79c4c6966f82 - <rustc_mir_transform[a7f95fd82d5de946]::elaborate_drop::DropCtxt<rustc_mir_transform[a7f95fd82d5de946]::shim::DropShimElaborator>>::build_async_drop
  23:     0x79c4c832f206 - <rustc_mir_transform[a7f95fd82d5de946]::elaborate_drop::DropCtxt<rustc_mir_transform[a7f95fd82d5de946]::shim::DropShimElaborator>>::elaborate_drop
  24:     0x79c4c8328ab5 - rustc_mir_transform[a7f95fd82d5de946]::shim::make_shim
  25:     0x79c4c8326aef - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::mir_shims::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 8usize]>>
  26:     0x79c4c8326aa7 - <rustc_query_impl[b776171e91563e8b]::query_impl::mir_shims::dynamic_query::{closure#2} as core[6d7144d1d4266374]::ops::function::FnOnce<(rustc_middle[41c039613f3f9b63]::ty::context::TyCtxt, rustc_middle[41c039613f3f9b63]::ty::instance::InstanceKind)>>::call_once
  27:     0x79c4c81d8b16 - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::instance::InstanceKind, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  28:     0x79c4c81d882f - rustc_query_impl[b776171e91563e8b]::query_impl::mir_shims::get_query_non_incr::__rust_end_short_backtrace
  29:     0x79c4c67ffe00 - <rustc_middle[41c039613f3f9b63]::ty::context::TyCtxt>::coroutine_layout
  30:     0x79c4c7f4bf0b - rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of
  31:     0x79c4c7f3fb2a - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>
  32:     0x79c4c7f3e91f - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::PseudoCanonicalInput<rustc_middle[41c039613f3f9b63]::ty::Ty>, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  33:     0x79c4c7f3e55e - rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  34:     0x79c4c7f3a796 - <core[6d7144d1d4266374]::iter::adapters::GenericShunt<core[6d7144d1d4266374]::iter::adapters::by_ref_sized::ByRefSized<core[6d7144d1d4266374]::iter::adapters::map::Map<core[6d7144d1d4266374]::slice::iter::Iter<rustc_middle[41c039613f3f9b63]::ty::VariantDef>, rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of_uncached::{closure#19}>>, core[6d7144d1d4266374]::result::Result<core[6d7144d1d4266374]::convert::Infallible, &rustc_middle[41c039613f3f9b63]::ty::layout::LayoutError>> as core[6d7144d1d4266374]::iter::traits::iterator::Iterator>::next
  35:     0x79c4c7f4114c - rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of
  36:     0x79c4c7f3fb2a - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>
  37:     0x79c4c7f3e91f - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::PseudoCanonicalInput<rustc_middle[41c039613f3f9b63]::ty::Ty>, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  38:     0x79c4c7f3e55e - rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  39:     0x79c4c7f3ab46 - <core[6d7144d1d4266374]::iter::adapters::GenericShunt<core[6d7144d1d4266374]::iter::adapters::by_ref_sized::ByRefSized<core[6d7144d1d4266374]::iter::adapters::map::Map<core[6d7144d1d4266374]::slice::iter::Iter<rustc_middle[41c039613f3f9b63]::ty::VariantDef>, rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of_uncached::{closure#19}>>, core[6d7144d1d4266374]::result::Result<core[6d7144d1d4266374]::convert::Infallible, &rustc_middle[41c039613f3f9b63]::ty::layout::LayoutError>> as core[6d7144d1d4266374]::iter::traits::iterator::Iterator>::next
  40:     0x79c4c7f4114c - rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of
  41:     0x79c4c7f3fb2a - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>
  42:     0x79c4c7f3e91f - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::PseudoCanonicalInput<rustc_middle[41c039613f3f9b63]::ty::Ty>, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  43:     0x79c4c7f3e55e - rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  44:     0x79c4c7f47afe - rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of
  45:     0x79c4c7f3fb2a - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>
  46:     0x79c4c7f3e91f - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::PseudoCanonicalInput<rustc_middle[41c039613f3f9b63]::ty::Ty>, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  47:     0x79c4c7f3e55e - rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  48:     0x79c4c7f39c09 - <rustc_middle[41c039613f3f9b63]::ty::layout::LayoutCx as rustc_middle[41c039613f3f9b63]::ty::layout::LayoutOf>::spanned_layout_of
  49:     0x79c4c70761f0 - <core[6d7144d1d4266374]::iter::adapters::GenericShunt<core[6d7144d1d4266374]::iter::adapters::by_ref_sized::ByRefSized<core[6d7144d1d4266374]::iter::adapters::map::Map<core[6d7144d1d4266374]::slice::iter::Iter<rustc_middle[41c039613f3f9b63]::mir::query::CoroutineSavedTy>, rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of_uncached::{closure#11}>>, core[6d7144d1d4266374]::result::Result<core[6d7144d1d4266374]::convert::Infallible, &rustc_middle[41c039613f3f9b63]::ty::layout::LayoutError>> as core[6d7144d1d4266374]::iter::traits::iterator::Iterator>::next
  50:     0x79c4c705eb7a - core[6d7144d1d4266374]::iter::adapters::try_process::<core[6d7144d1d4266374]::iter::adapters::by_ref_sized::ByRefSized<core[6d7144d1d4266374]::iter::adapters::map::Map<core[6d7144d1d4266374]::slice::iter::Iter<rustc_middle[41c039613f3f9b63]::mir::query::CoroutineSavedTy>, rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of_uncached::{closure#11}>>, rustc_abi[16b420aafa014dd]::layout::ty::TyAndLayout<rustc_middle[41c039613f3f9b63]::ty::Ty>, core[6d7144d1d4266374]::result::Result<core[6d7144d1d4266374]::convert::Infallible, &rustc_middle[41c039613f3f9b63]::ty::layout::LayoutError>, <core[6d7144d1d4266374]::iter::adapters::map::Map<core[6d7144d1d4266374]::slice::iter::Iter<rustc_middle[41c039613f3f9b63]::mir::query::CoroutineSavedTy>, rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of_uncached::{closure#11}> as core[6d7144d1d4266374]::iter::traits::iterator::Iterator>::try_collect<rustc_index[6fcb69c322e18028]::vec::IndexVec<rustc_middle[41c039613f3f9b63]::mir::query::CoroutineSavedLocal, rustc_abi[16b420aafa014dd]::layout::ty::TyAndLayout<rustc_middle[41c039613f3f9b63]::ty::Ty>>>::{closure#0}, rustc_index[6fcb69c322e18028]::vec::IndexVec<rustc_middle[41c039613f3f9b63]::mir::query::CoroutineSavedLocal, rustc_abi[16b420aafa014dd]::layout::ty::TyAndLayout<rustc_middle[41c039613f3f9b63]::ty::Ty>>>
  51:     0x79c4c7f4c5c1 - rustc_ty_utils[ed0597263d4f78c7]::layout::layout_of
  52:     0x79c4c7f3fb2a - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>
  53:     0x79c4c7f3e91f - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::DefaultCache<rustc_middle[41c039613f3f9b63]::ty::PseudoCanonicalInput<rustc_middle[41c039613f3f9b63]::ty::Ty>, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  54:     0x79c4c7f3e55e - rustc_query_impl[b776171e91563e8b]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  55:     0x79c4c86718f2 - <rustc_mir_transform[a7f95fd82d5de946]::known_panics_lint::KnownPanicsLint as rustc_mir_transform[a7f95fd82d5de946]::pass_manager::MirLint>::run_lint
  56:     0x79c4c780bea7 - rustc_mir_transform[a7f95fd82d5de946]::run_analysis_to_runtime_passes
  57:     0x79c4c7d232a5 - rustc_mir_transform[a7f95fd82d5de946]::mir_drops_elaborated_and_const_checked
  58:     0x79c4c7d22c75 - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 8usize]>>
  59:     0x79c4c7a2402c - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_data_structures[9557117c3f8f3a0]::vec_cache::VecCache<rustc_span[bce202135c071ebd]::def_id::LocalDefId, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[aa926e5a14f6203b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  60:     0x79c4c7a2390b - rustc_query_impl[b776171e91563e8b]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
  61:     0x79c4c8206c58 - rustc_interface[269edf8a537b00a5]::passes::run_required_analyses
  62:     0x79c4c86a915e - rustc_interface[269edf8a537b00a5]::passes::analysis
  63:     0x79c4c86a9133 - rustc_query_impl[b776171e91563e8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b776171e91563e8b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 0usize]>>
  64:     0x79c4c86aec3d - rustc_query_system[aa926e5a14f6203b]::query::plumbing::try_execute_query::<rustc_query_impl[b776171e91563e8b]::DynamicConfig<rustc_query_system[aa926e5a14f6203b]::query::caches::SingleCache<rustc_middle[41c039613f3f9b63]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[b776171e91563e8b]::plumbing::QueryCtxt, false>
  65:     0x79c4c86ae938 - rustc_query_impl[b776171e91563e8b]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  66:     0x79c4c878f3be - rustc_interface[269edf8a537b00a5]::passes::create_and_enter_global_ctxt::<core[6d7144d1d4266374]::option::Option<rustc_interface[269edf8a537b00a5]::queries::Linker>, rustc_driver_impl[a2bbb3d7e654019c]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  67:     0x79c4c88eceb9 - rustc_interface[269edf8a537b00a5]::interface::run_compiler::<(), rustc_driver_impl[a2bbb3d7e654019c]::run_compiler::{closure#0}>::{closure#1}
  68:     0x79c4c8701728 - std[96024a80e4ce12a0]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[269edf8a537b00a5]::util::run_in_thread_with_globals<rustc_interface[269edf8a537b00a5]::util::run_in_thread_pool_with_globals<rustc_interface[269edf8a537b00a5]::interface::run_compiler<(), rustc_driver_impl[a2bbb3d7e654019c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  69:     0x79c4c8701b74 - <<std[96024a80e4ce12a0]::thread::Builder>::spawn_unchecked_<rustc_interface[269edf8a537b00a5]::util::run_in_thread_with_globals<rustc_interface[269edf8a537b00a5]::util::run_in_thread_pool_with_globals<rustc_interface[269edf8a537b00a5]::interface::run_compiler<(), rustc_driver_impl[a2bbb3d7e654019c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[6d7144d1d4266374]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  70:     0x79c4c8702f77 - std::sys::pal::unix::thread::Thread::new::thread_start::h7eeb46109c9d7745
  71:     0x79c4c26a370a - <unknown>
  72:     0x79c4c2727aac - <unknown>
  73:                0x0 - <unknown>

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: please attach the file at `/tmp/im2/rustc-ice-2025-04-29T18_40_52-1722496.txt` to your bug report

query stack during panic:
#0 [fn_sig] computing function signature of `<impl at a.rs:7:1: 7:21>::c`
#1 [mir_shims] generating MIR shim for `core::future::async_drop::async_drop_in_place::{closure#0}`, instance=AsyncDropGlue(DefId(2:15313 ~ core[6d71]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:15313 ~ core[6d71]::future::async_drop::async_drop_in_place::{closure#0}), [a, (), core::future::ResumeTy, (), (), CoroutineWitness(DefId(2:15313 ~ core[6d71]::future::async_drop::async_drop_in_place::{closure#0}), [a]), (*mut a,)]))
... and 7 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
error: aborting due to 7 previous errors; 2 warnings emitted

Some errors have detailed explanations: E0046, E0407, E0437, E0601.
For more information about an error, try `rustc --explain E0046`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.F-async_dropAsync dropI-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.requires-incomplete-featuresThis issue requires the use of incomplete features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions