Repository navigation
async functions cause ICE #601
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Expected Behaviour
Compile TIme Error Message
Example & Steps To Reproduce
Lib.rs file to being compiled by spirv_builder
#![no_std]
async fn testing(){}
#[spirv_std::spirv(compute(threads(1)))]
pub fn main() {
let temp = testing();
}System Info
Cargo.toml
[package]
name = "rust_gpu_build"
version = "0.1.0"
edition = "2021"
[dependencies]
libm = "=0.2.11"
spirv-builder = { git = "https://github.com/Rust-GPU/rust-gpu.git"}
[profile.release.build-override]
opt-level = 3
codegen-units = 1
[profile.dev.build-override]
opt-level = 3rust-toolchain.toml
[toolchain]
channel = "nightly-2025-11-13"
components = ["rust-src", "rustc-dev", "llvm-tools"]Backtrace
note: compiler flags: --crate-type dylib -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C strip=debuginfo -Z unstable-options -Z codegen-backend=/home/user/Documents/vscode/test/rust_gpu/rust_gpu_build/target/debug/librustc_codegen_spirv.so -Z binary-dep-depinfo -C symbol-mangling-version=v0 -Z crate-attr=feature(register_tool) -Z crate-attr=register_tool(rust_gpu) -C overflow-checks=off -C debug-assertions=off -Z inline-mir=off -Z mir-enable-passes=-GVN -Z share-generics=off
Backtrace
thread 'rustc' panicked at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:694:17:
Box<dyn Any>
stack backtrace:
0: 0x72d6bda4062b - std::backtrace::Backtrace::create::hec63f2c97908c8bb
1: 0x72d6bda40575 - std::backtrace::Backtrace::force_capture::hdeafaeab7a30ed19
2: 0x72d6bca325d2 - std[c8d4bb381711e68]::panicking::update_hook::<alloc[2508525745eabac6]::boxed::Box<rustc_driver_impl[3c4699642b322592]::install_ice_hook::{closure#1}>>::{closure#0}
3: 0x72d6bca31e61 - std[c8d4bb381711e68]::panicking::update_hook::<alloc[2508525745eabac6]::boxed::Box<rustc_driver_impl[3c4699642b322592]::install_ice_hook::{closure#1}>>::{closure#0}
4: 0x72d6bda4157b - std::panicking::panic_with_hook::he0d479546e4ce5b9
5: 0x72d6bca6e3d1 - std[c8d4bb381711e68]::panicking::begin_panic::<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>::{closure#0}
6: 0x72d6bca60876 - std[c8d4bb381711e68]::sys::backtrace::__rust_end_short_backtrace::<std[c8d4bb381711e68]::panicking::begin_panic<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>::{closure#0}, !>
7: 0x72d6bca5dfc9 - std[c8d4bb381711e68]::panicking::begin_panic::<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>
8: 0x72d6bca8cc01 - <rustc_errors[4a6b3a26dff7b902]::diagnostic::BugAbort as rustc_errors[4a6b3a26dff7b902]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
9: 0x72d6bcff43cc - <rustc_errors[4a6b3a26dff7b902]::DiagCtxtHandle>::span_bug::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span, alloc[2508525745eabac6]::string::String>
10: 0x72d6bd017907 - rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}
11: 0x72d6bd017aaa - rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_opt::<rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}, !>::{closure#0}
12: 0x72d6bd0084bb - rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_context_opt::<rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_opt<rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
13: 0x72d6bb2e1367 - rustc_middle[8d85ffaee97d78d]::util::bug::span_bug_fmt::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>
14: 0x72d6aa9bc5d7 - rustc_codegen_spirv::abi::trans_struct_or_union::ha96f07edea0769ca
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:694:17
15: 0x72d6aa9b7baf - rustc_codegen_spirv::abi::trans_aggregate::hf4fbb1662fb7fb41
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:620:14
16: 0x72d6aa99211d - <rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h8234b12324b82a25
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:398:49
17: 0x72d6aaa5f131 - <rustc_codegen_spirv::abi::PointeeTy as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h3830201235ced2fe
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:238:37
18: 0x72d6aa9b773e - rustc_codegen_spirv::abi::trans_scalar::h805b7b315b296307
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:463:42
19: 0x72d6aa991dc9 - <rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h8234b12324b82a25
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:317:44
20: 0x72d6aa990e4d - <rustc_target::callconv::FnAbi<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h9f3db060cd539813
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:264:51
21: 0x72d6aab83383 - rustc_codegen_spirv::codegen_cx::declare::<impl rustc_codegen_spirv::codegen_cx::CodegenCx>::declare_fn_ext::heb39882c95280c42
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/codegen_cx/declare.rs:75:36
22: 0x72d6aab80db0 - rustc_codegen_spirv::codegen_cx::declare::<impl rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::declare::PreDefineCodegenMethods for rustc_codegen_spirv::codegen_cx::CodegenCx>::predefine_fn::ha68ce7ccd72c4b18
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/codegen_cx/declare.rs:364:29
23: 0x72d6aaf83089 - <rustc_middle::mir::mono::MonoItem as rustc_codegen_spirv::maybe_pqp_cg_ssa::mono_item::MonoItemExt>::predefine::h69e12c3d6246e1d5
at /home/user/Documents/vscode/test/rust_gpu/rust_gpu_build/target/debug/build/rustc_codegen_spirv-7f7173e9ec8af35a/out/pqp_cg_ssa/src/mono_item.rs:80:24
24: 0x72d6ab021bf5 - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit::{{closure}}::h410f004d7d3b2843
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:460:27
25: 0x72d6ab0210f7 - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit::h6dc8143f98460e2f
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:489:36
26: 0x72d6aabb0991 - rustc_codegen_spirv::maybe_pqp_cg_ssa::base::codegen_crate::he1242eca30e59433
at /home/user/Documents/vscode/test/rust_gpu/rust_gpu_build/target/debug/build/rustc_codegen_spirv-7f7173e9ec8af35a/out/pqp_cg_ssa/src/base.rs:808:42
27: 0x72d6ab01c93a - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::CodegenBackend>::codegen_crate::h669390948f05c4b9
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:240:18
28: 0x72d6bf4c6f8d - <rustc_interface[23742b77bf084c1c]::queries::Linker>::codegen_and_build_linker
29: 0x72d6bf4c3b4d - <rustc_interface[23742b77bf084c1c]::passes::create_and_enter_global_ctxt<core[9a42bb1793c5c9a8]::option::Option<rustc_interface[23742b77bf084c1c]::queries::Linker>, rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[9a42bb1793c5c9a8]::ops::function::FnOnce<(&rustc_session[158844ada7f0f676]::session::Session, rustc_middle[8d85ffaee97d78d]::ty::context::CurrentGcx, alloc[2508525745eabac6]::sync::Arc<rustc_data_structures[ae499ee93fe3a250]::jobserver::Proxy>, &std[c8d4bb381711e68]::sync::once_lock::OnceLock<rustc_middle[8d85ffaee97d78d]::ty::context::GlobalCtxt>, &rustc_data_structures[ae499ee93fe3a250]::sync::worker_local::WorkerLocal<rustc_middle[8d85ffaee97d78d]::arena::Arena>, &rustc_data_structures[ae499ee93fe3a250]::sync::worker_local::WorkerLocal<rustc_hir[3a966f3954156600]::Arena>, rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
30: 0x72d6bf3223a9 - rustc_interface[23742b77bf084c1c]::interface::run_compiler::<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}
31: 0x72d6bf34cf7b - std[c8d4bb381711e68]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[23742b77bf084c1c]::util::run_in_thread_with_globals<rustc_interface[23742b77bf084c1c]::util::run_in_thread_pool_with_globals<rustc_interface[23742b77bf084c1c]::interface::run_compiler<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
32: 0x72d6bf34cc54 - <<std[c8d4bb381711e68]::thread::Builder>::spawn_unchecked_<rustc_interface[23742b77bf084c1c]::util::run_in_thread_with_globals<rustc_interface[23742b77bf084c1c]::util::run_in_thread_pool_with_globals<rustc_interface[23742b77bf084c1c]::interface::run_compiler<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[9a42bb1793c5c9a8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
33: 0x72d6bf350faf - std::sys::thread::unix::Thread::new::thread_start::hfb7aed7a74f6cac0
34: 0x72d6b8a9a97a - start_thread
35: 0x72d6b8b22d2c - __clone3
36: 0x0 - <unknown>
rustc version: 1.93.0-nightly (01867557c 2025-11-12)
platform: x86_64-unknown-linux-gnu
query stack during panic:
end of query stack
thread 'rustc' panicked at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:694:17:
Box<dyn Any>
stack backtrace:
0: 0x72d6bda4062b - std::backtrace::Backtrace::create::hec63f2c97908c8bb
1: 0x72d6bda40575 - std::backtrace::Backtrace::force_capture::hdeafaeab7a30ed19
2: 0x72d6bca325d2 - std[c8d4bb381711e68]::panicking::update_hook::<alloc[2508525745eabac6]::boxed::Box<rustc_driver_impl[3c4699642b322592]::install_ice_hook::{closure#1}>>::{closure#0}
3: 0x72d6bda4157b - std::panicking::panic_with_hook::he0d479546e4ce5b9
4: 0x72d6bca6e3d1 - std[c8d4bb381711e68]::panicking::begin_panic::<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>::{closure#0}
5: 0x72d6bca60876 - std[c8d4bb381711e68]::sys::backtrace::__rust_end_short_backtrace::<std[c8d4bb381711e68]::panicking::begin_panic<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>::{closure#0}, !>
6: 0x72d6bca5dfc9 - std[c8d4bb381711e68]::panicking::begin_panic::<rustc_errors[4a6b3a26dff7b902]::ExplicitBug>
7: 0x72d6bca8cc01 - <rustc_errors[4a6b3a26dff7b902]::diagnostic::BugAbort as rustc_errors[4a6b3a26dff7b902]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
8: 0x72d6bcff43cc - <rustc_errors[4a6b3a26dff7b902]::DiagCtxtHandle>::span_bug::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span, alloc[2508525745eabac6]::string::String>
9: 0x72d6bd017907 - rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}
10: 0x72d6bd017aaa - rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_opt::<rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}, !>::{closure#0}
11: 0x72d6bd0084bb - rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_context_opt::<rustc_middle[8d85ffaee97d78d]::ty::context::tls::with_opt<rustc_middle[8d85ffaee97d78d]::util::bug::opt_span_bug_fmt<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
12: 0x72d6bb2e1367 - rustc_middle[8d85ffaee97d78d]::util::bug::span_bug_fmt::<rustc_span[5a5bd85de0de1f2b]::span_encoding::Span>
13: 0x72d6aa9bc5d7 - rustc_codegen_spirv::abi::trans_struct_or_union::ha96f07edea0769ca
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:694:17
14: 0x72d6aa9b7baf - rustc_codegen_spirv::abi::trans_aggregate::hf4fbb1662fb7fb41
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:620:14
15: 0x72d6aa99211d - <rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h8234b12324b82a25
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:398:49
16: 0x72d6aaa5f131 - <rustc_codegen_spirv::abi::PointeeTy as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h3830201235ced2fe
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:238:37
17: 0x72d6aa9b773e - rustc_codegen_spirv::abi::trans_scalar::h805b7b315b296307
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:463:42
18: 0x72d6aa991dc9 - <rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h8234b12324b82a25
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:317:44
19: 0x72d6aa990e4d - <rustc_target::callconv::FnAbi<rustc_middle::ty::Ty> as rustc_codegen_spirv::abi::ConvSpirvType>::spirv_type::h9f3db060cd539813
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/abi.rs:264:51
20: 0x72d6aab83383 - rustc_codegen_spirv::codegen_cx::declare::<impl rustc_codegen_spirv::codegen_cx::CodegenCx>::declare_fn_ext::heb39882c95280c42
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/codegen_cx/declare.rs:75:36
21: 0x72d6aab80db0 - rustc_codegen_spirv::codegen_cx::declare::<impl rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::declare::PreDefineCodegenMethods for rustc_codegen_spirv::codegen_cx::CodegenCx>::predefine_fn::ha68ce7ccd72c4b18
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/codegen_cx/declare.rs:364:29
22: 0x72d6aaf83089 - <rustc_middle::mir::mono::MonoItem as rustc_codegen_spirv::maybe_pqp_cg_ssa::mono_item::MonoItemExt>::predefine::h69e12c3d6246e1d5
at /home/user/Documents/vscode/test/rust_gpu/rust_gpu_build/target/debug/build/rustc_codegen_spirv-7f7173e9ec8af35a/out/pqp_cg_ssa/src/mono_item.rs:80:24
23: 0x72d6ab021bf5 - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit::{{closure}}::h410f004d7d3b2843
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:460:27
24: 0x72d6ab0210f7 - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit::h6dc8143f98460e2f
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:489:36
25: 0x72d6aabb0991 - rustc_codegen_spirv::maybe_pqp_cg_ssa::base::codegen_crate::he1242eca30e59433
at /home/user/Documents/vscode/test/rust_gpu/rust_gpu_build/target/debug/build/rustc_codegen_spirv-7f7173e9ec8af35a/out/pqp_cg_ssa/src/base.rs:808:42
26: 0x72d6ab01c93a - <rustc_codegen_spirv::SpirvCodegenBackend as rustc_codegen_spirv::maybe_pqp_cg_ssa::traits::backend::CodegenBackend>::codegen_crate::h669390948f05c4b9
at /home/user/.cargo/git/checkouts/rust-gpu-d06d15e2ba0f0ae2/3089687/crates/rustc_codegen_spirv/src/lib.rs:240:18
27: 0x72d6bf4c6f8d - <rustc_interface[23742b77bf084c1c]::queries::Linker>::codegen_and_build_linker
28: 0x72d6bf4c3b4d - <rustc_interface[23742b77bf084c1c]::passes::create_and_enter_global_ctxt<core[9a42bb1793c5c9a8]::option::Option<rustc_interface[23742b77bf084c1c]::queries::Linker>, rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[9a42bb1793c5c9a8]::ops::function::FnOnce<(&rustc_session[158844ada7f0f676]::session::Session, rustc_middle[8d85ffaee97d78d]::ty::context::CurrentGcx, alloc[2508525745eabac6]::sync::Arc<rustc_data_structures[ae499ee93fe3a250]::jobserver::Proxy>, &std[c8d4bb381711e68]::sync::once_lock::OnceLock<rustc_middle[8d85ffaee97d78d]::ty::context::GlobalCtxt>, &rustc_data_structures[ae499ee93fe3a250]::sync::worker_local::WorkerLocal<rustc_middle[8d85ffaee97d78d]::arena::Arena>, &rustc_data_structures[ae499ee93fe3a250]::sync::worker_local::WorkerLocal<rustc_hir[3a966f3954156600]::Arena>, rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
29: 0x72d6bf3223a9 - rustc_interface[23742b77bf084c1c]::interface::run_compiler::<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}
30: 0x72d6bf34cf7b - std[c8d4bb381711e68]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[23742b77bf084c1c]::util::run_in_thread_with_globals<rustc_interface[23742b77bf084c1c]::util::run_in_thread_pool_with_globals<rustc_interface[23742b77bf084c1c]::interface::run_compiler<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
31: 0x72d6bf34cc54 - <<std[c8d4bb381711e68]::thread::Builder>::spawn_unchecked_<rustc_interface[23742b77bf084c1c]::util::run_in_thread_with_globals<rustc_interface[23742b77bf084c1c]::util::run_in_thread_pool_with_globals<rustc_interface[23742b77bf084c1c]::interface::run_compiler<(), rustc_driver_impl[3c4699642b322592]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[9a42bb1793c5c9a8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
32: 0x72d6bf350faf - std::sys::thread::unix::Thread::new::thread_start::hfb7aed7a74f6cac0
33: 0x72d6b8a9a97a - start_thread
34: 0x72d6b8b22d2c - __clone3
35: 0x0 - <unknown>
query stack during panic:
end of query stack
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Activity
Firestar99 commentedon May 28, 2026
Am aware, not sure how hard it would be to fix. But even if we did fis this ICE, you'll likely won't be able to use futures anyway due to their use of function pointers, so this would only help if you have a crate that has some async but you're not planning on using any of it
noahbadoa commentedon May 28, 2026
From looking at godbolt I'm 90% unmodified rustc doesn't use function pointers for statically dispatched async functions. Under the hood impl Future values are still statically typed so they can use static dispatch. The only technical hurdle in implementing this feature would be that rustc might by default use a u8 as a discriminate to store what await point the future is at. However statically dispatched async functions are basically useless right now because rust doesn't give you a way to explicitly type them so you can't store them structs or such. So I don't see much use in this feature.
Filled not as a feature request just for the ICE