$ RUST_BACKTRACE=1 rustc +nightly --edition=2024 foo.rs
error: functions in `extern` blocks cannot have `async` qualifier
--> foo.rs:2:5
|
1 | unsafe extern "C" {
| ----------------- in this `extern` block
2 | async fn function() -> [(); || {}];
| ^^^^^ help: remove the `async` qualifier
error[E0601]: `main` function not found in crate `foo`
--> foo.rs:3:2
|
3 | }
| ^ consider adding a `main` function to `foo.rs`
error[E0308]: mismatched types
--> foo.rs:2:33
|
2 | async fn function() -> [(); || {}];
| ^^^^^ expected `usize`, found closure
|
= note: expected type `usize`
found closure `{closure@foo.rs:2:33: 2:35}`
error: internal compiler error: /rustc-dev/7c275d09ea6b953d2cca169667184a7214bd14c7/compiler/rustc_middle/src/hir/mod.rs:223:32: No HirId for DefId(0:5 ~ foo[4879]::{extern#0}::function::{opaque#0})
thread 'rustc' panicked at /rustc-dev/7c275d09ea6b953d2cca169667184a7214bd14c7/compiler/rustc_middle/src/hir/mod.rs:223:32:
Box<dyn Any>
stack backtrace:
0: 0x7067819d0a1b - std::backtrace::Backtrace::create::h9649f0bcd677e16d
1: 0x7067819d0965 - std::backtrace::Backtrace::force_capture::h67b40352c9263dc3
2: 0x7067809f6342 - std[6c96415bc1a38016]::panicking::update_hook::<alloc[c6e2df4d00e1f0b6]::boxed::Box<rustc_driver_impl[459800387efcc559]::install_ice_hook::{closure#1}>>::{closure#0}
3: 0x7067819d195f - std::panicking::panic_with_hook::hedf05123aa8b61bb
4: 0x706780a32471 - std[6c96415bc1a38016]::panicking::begin_panic::<rustc_errors[af568b6d67acca2f]::ExplicitBug>::{closure#0}
5: 0x706780a25c86 - std[6c96415bc1a38016]::sys::backtrace::__rust_end_short_backtrace::<std[6c96415bc1a38016]::panicking::begin_panic<rustc_errors[af568b6d67acca2f]::ExplicitBug>::{closure#0}, !>
6: 0x706780a23729 - std[6c96415bc1a38016]::panicking::begin_panic::<rustc_errors[af568b6d67acca2f]::ExplicitBug>
7: 0x706780a3db61 - <rustc_errors[af568b6d67acca2f]::diagnostic::BugAbort as rustc_errors[af568b6d67acca2f]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
8: 0x706780fcfdba - rustc_middle[e11099e36afb5411]::util::bug::opt_span_bug_fmt::<rustc_span[9408016a182fdcc0]::span_encoding::Span>::{closure#0}
9: 0x706780fcff7a - rustc_middle[e11099e36afb5411]::ty::context::tls::with_opt::<rustc_middle[e11099e36afb5411]::util::bug::opt_span_bug_fmt<rustc_span[9408016a182fdcc0]::span_encoding::Span>::{closure#0}, !>::{closure#0}
10: 0x706780fbeb4b - rustc_middle[e11099e36afb5411]::ty::context::tls::with_context_opt::<rustc_middle[e11099e36afb5411]::ty::context::tls::with_opt<rustc_middle[e11099e36afb5411]::util::bug::opt_span_bug_fmt<rustc_span[9408016a182fdcc0]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
11: 0x70677f0b9200 - rustc_middle[e11099e36afb5411]::util::bug::bug_fmt
12: 0x7067823e80d2 - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::local_def_id_to_hir_id::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 8usize]>>
13: 0x7067823e7732 - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_data_structures[e568e5fb65a8620a]::vec_cache::VecCache<rustc_span[9408016a182fdcc0]::def_id::LocalDefId, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[44f2cb83942a7389]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
14: 0x7067823e720b - rustc_query_impl[8ceca73aa722394f]::query_impl::local_def_id_to_hir_id::get_query_non_incr::__rust_end_short_backtrace
15: 0x706782cc2d23 - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>>
16: 0x706782cc1e4d - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_data_structures[e568e5fb65a8620a]::vec_cache::VecCache<rustc_span[9408016a182fdcc0]::def_id::LocalDefId, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>, rustc_query_system[44f2cb83942a7389]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
17: 0x706782cc1bc2 - rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::get_query_non_incr::__rust_end_short_backtrace
18: 0x706782cc2b4f - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>>
19: 0x706782cc1e4d - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_data_structures[e568e5fb65a8620a]::vec_cache::VecCache<rustc_span[9408016a182fdcc0]::def_id::LocalDefId, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>, rustc_query_system[44f2cb83942a7389]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
20: 0x706782cc1bc2 - rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::get_query_non_incr::__rust_end_short_backtrace
21: 0x706782cc2b4f - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>>
22: 0x706782cc1e4d - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_data_structures[e568e5fb65a8620a]::vec_cache::VecCache<rustc_span[9408016a182fdcc0]::def_id::LocalDefId, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 2usize]>, rustc_query_system[44f2cb83942a7389]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
23: 0x706782cc1bc2 - rustc_query_impl[8ceca73aa722394f]::query_impl::disabled_sanitizers_for::get_query_non_incr::__rust_end_short_backtrace
24: 0x706782cc48f8 - rustc_codegen_ssa[82e0de25f9f2471a]::codegen_attrs::codegen_fn_attrs
25: 0x706782cc3674 - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::codegen_fn_attrs::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 8usize]>>
26: 0x70678221ad7a - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_query_system[44f2cb83942a7389]::query::caches::DefIdCache<rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
27: 0x70678221a5dd - rustc_query_impl[8ceca73aa722394f]::query_impl::codegen_fn_attrs::get_query_non_incr::__rust_end_short_backtrace
28: 0x706782a9c4b6 - rustc_hir_analysis[1618d3df19afa2f8]::check::check::check_item_type
29: 0x706782a980f9 - rustc_hir_analysis[1618d3df19afa2f8]::check::wfcheck::check_well_formed
30: 0x706782a980db - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 1usize]>>
31: 0x706782a97952 - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_data_structures[e568e5fb65a8620a]::vec_cache::VecCache<rustc_span[9408016a182fdcc0]::def_id::LocalDefId, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[44f2cb83942a7389]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
32: 0x706782a97456 - rustc_query_impl[8ceca73aa722394f]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
33: 0x706782a94abd - rustc_hir_analysis[1618d3df19afa2f8]::check::wfcheck::check_type_wf
34: 0x706782a94965 - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 1usize]>>
35: 0x70678325ec08 - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_query_system[44f2cb83942a7389]::query::caches::SingleCache<rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
36: 0x70678325e9ce - rustc_query_impl[8ceca73aa722394f]::query_impl::check_type_wf::get_query_non_incr::__rust_end_short_backtrace
37: 0x706782cc81dc - rustc_hir_analysis[1618d3df19afa2f8]::check_crate
38: 0x7067823e8bb0 - rustc_interface[f4ad0248271d71d8]::passes::analysis
39: 0x7067823e886d - rustc_query_impl[8ceca73aa722394f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8ceca73aa722394f]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 0usize]>>
40: 0x706783265526 - rustc_query_system[44f2cb83942a7389]::query::plumbing::try_execute_query::<rustc_query_impl[8ceca73aa722394f]::DynamicConfig<rustc_query_system[44f2cb83942a7389]::query::caches::SingleCache<rustc_middle[e11099e36afb5411]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8ceca73aa722394f]::plumbing::QueryCtxt, false>
41: 0x70678326517c - rustc_query_impl[8ceca73aa722394f]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
42: 0x706783472d4f - rustc_interface[f4ad0248271d71d8]::passes::create_and_enter_global_ctxt::<core[88dcab6addd45e6c]::option::Option<rustc_interface[f4ad0248271d71d8]::queries::Linker>, rustc_driver_impl[459800387efcc559]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
43: 0x7067833e96be - rustc_interface[f4ad0248271d71d8]::interface::run_compiler::<(), rustc_driver_impl[459800387efcc559]::run_compiler::{closure#0}>::{closure#1}
44: 0x7067833482f8 - std[6c96415bc1a38016]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[f4ad0248271d71d8]::util::run_in_thread_with_globals<rustc_interface[f4ad0248271d71d8]::util::run_in_thread_pool_with_globals<rustc_interface[f4ad0248271d71d8]::interface::run_compiler<(), rustc_driver_impl[459800387efcc559]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
45: 0x706783347fdc - <<std[6c96415bc1a38016]::thread::Builder>::spawn_unchecked_<rustc_interface[f4ad0248271d71d8]::util::run_in_thread_with_globals<rustc_interface[f4ad0248271d71d8]::util::run_in_thread_pool_with_globals<rustc_interface[f4ad0248271d71d8]::interface::run_compiler<(), rustc_driver_impl[459800387efcc559]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[88dcab6addd45e6c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
46: 0x70678334e68d - std::sys::thread::unix::Thread::new::thread_start::hb28ad79a6a69b48c
47: 0x706784d141f5 - start_thread
at ./nptl/pthread_create.c:442:8
48: 0x706784d9489c - clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81:0
49: 0x0 - <unknown>
rustc version: 1.92.0-nightly (7c275d09e 2025-09-18)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [local_def_id_to_hir_id] getting HIR ID of `function::{opaque#0}`
#1 [disabled_sanitizers_for] checking what set of sanitizers are enabled on `function::{opaque#0}`
#2 [disabled_sanitizers_for] checking what set of sanitizers are enabled on `function::{opaque#0}::{constant#0}`
#3 [disabled_sanitizers_for] checking what set of sanitizers are enabled on `function::{opaque#0}::{constant#0}::{closure#0}`
#4 [codegen_fn_attrs] computing codegen attributes of `function::{opaque#0}::{constant#0}::{closure#0}`
#5 [check_well_formed] checking that `function::{opaque#0}::{constant#0}::{closure#0}` is well-formed
#6 [check_type_wf] checking that types are well-formed
#7 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 4 previous errors
Some errors have detailed explanations: E0308, E0601.
For more information about an error, try `rustc --explain E0308`.
Code
Meta
rustc --version --verbose:Error output
Backtrace
Bisection
Regression in e6aa5b3 (nightly-2025-08-20)
@rustbot label +S-has-bisection +S-has-mcve +requires-nightly