well... it is a close source project, I can't paste the full codes here, just the failed codes
rustc 1.97.0-nightly (c935696dd 2026-04-29)
binary: rustc
commit-hash: c935696dd07ca51e6fba2f6579919eea2a50863b
commit-date: 2026-04-29
host: x86_64-unknown-linux-gnu
release: 1.97.0-nightly
LLVM version: 22.1.4
error: internal compiler error: /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25: broken MIR in FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), std::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)])) (after phase change to runtime-optimized) at bb16[0]:
encountered `_0 = const std::async_iter::async_iter::<impl std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>>::PENDING` with incompatible types:
left-hand side has type: std::task::Poll<()>
right-hand side has type: std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>
--> /home/sherlock/git/squirrelholex/wiresquirrel/core/src/control/android.rs:44:60
|
44 | pub async gen fn export_statistics(&self) -> Statistic {
| ____________________________________________________________^
45 | | for await (public_key, tunnel) in self.tunnel_manager.all_tunnels() {
46 | | let Stats {
47 | | handshake_time: _handshake_time,
... |
68 | | }
| |_____^
thread 'rustc' (775965) panicked at /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25:
Box<dyn Any>
stack backtrace:
0: 0x7f9d38660fb9 - <<std[d7d0ddfb10bdc7]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[67c42cdc86eeb6b0]::fmt::Display>::fmt
1: 0x7f9d38c15f88 - core[67c42cdc86eeb6b0]::fmt::write
2: 0x7f9d386779e6 - <std[d7d0ddfb10bdc7]::sys::stdio::unix::Stderr as std[d7d0ddfb10bdc7]::io::Write>::write_fmt
3: 0x7f9d3863718e - std[d7d0ddfb10bdc7]::panicking::default_hook::{closure#0}
4: 0x7f9d38654673 - std[d7d0ddfb10bdc7]::panicking::default_hook
5: 0x7f9d37650631 - std[d7d0ddfb10bdc7]::panicking::update_hook::<alloc[23a4481fcbb97b7f]::boxed::Box<rustc_driver_impl[50e76e1dd3a4a14e]::install_ice_hook::{closure#1}>>::{closure#0}
6: 0x7f9d38654952 - std[d7d0ddfb10bdc7]::panicking::panic_with_hook
7: 0x7f9d3767fe51 - std[d7d0ddfb10bdc7]::panicking::begin_panic::<rustc_errors[e0bcd30e0b1f1c7b]::ExplicitBug>::{closure#0}
8: 0x7f9d37678cd6 - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_end_short_backtrace::<std[d7d0ddfb10bdc7]::panicking::begin_panic<rustc_errors[e0bcd30e0b1f1c7b]::ExplicitBug>::{closure#0}, !>
9: 0x7f9d37676bc8 - std[d7d0ddfb10bdc7]::panicking::begin_panic::<rustc_errors[e0bcd30e0b1f1c7b]::ExplicitBug>
10: 0x7f9d3768b331 - <rustc_errors[e0bcd30e0b1f1c7b]::diagnostic::BugAbort as rustc_errors[e0bcd30e0b1f1c7b]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
11: 0x7f9d37c339bc - <rustc_errors[e0bcd30e0b1f1c7b]::DiagCtxtHandle>::span_bug::<rustc_span[59131b038ab0e4b4]::span_encoding::Span, alloc[23a4481fcbb97b7f]::string::String>
12: 0x7f9d37c5d8d6 - rustc_middle[c658cc71600ac6d8]::util::bug::opt_span_bug_fmt::<rustc_span[59131b038ab0e4b4]::span_encoding::Span>::{closure#0}
13: 0x7f9d37c5da82 - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_opt::<rustc_middle[c658cc71600ac6d8]::util::bug::opt_span_bug_fmt<rustc_span[59131b038ab0e4b4]::span_encoding::Span>::{closure#0}, !>::{closure#0}
14: 0x7f9d37c4e2bb - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_context_opt::<rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_opt<rustc_middle[c658cc71600ac6d8]::util::bug::opt_span_bug_fmt<rustc_span[59131b038ab0e4b4]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
15: 0x7f9d35aa6c08 - rustc_middle[c658cc71600ac6d8]::util::bug::span_bug_fmt::<rustc_span[59131b038ab0e4b4]::span_encoding::Span>
16: 0x7f9d35d4a435 - <rustc_mir_transform[c5ba80edf3b750cd]::validate::CfgChecker>::fail::<alloc[23a4481fcbb97b7f]::string::String>
17: 0x7f9d3967a6e8 - <rustc_mir_transform[c5ba80edf3b750cd]::validate::Validator as rustc_mir_transform[c5ba80edf3b750cd]::pass_manager::MirPass>::run_pass
18: 0x7f9d38c08cd0 - rustc_mir_transform[c5ba80edf3b750cd]::run_optimization_passes
19: 0x7f9d39663817 - rustc_mir_transform[c5ba80edf3b750cd]::shim::make_shim
20: 0x7f9d396617a0 - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::invoke_provider_fn::__rust_begin_short_backtrace
21: 0x7f9d397d8c6d - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::<rustc_middle[c658cc71600ac6d8]::query::caches::DefaultCache<rustc_middle[c658cc71600ac6d8]::ty::instance::InstanceKind, rustc_middle[c658cc71600ac6d8]::query::erase::ErasedData<[u8; 8usize]>>, false>
22: 0x7f9d397d897f - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::execute_query_non_incr::__rust_end_short_backtrace
23: 0x7f9d3970a6fa - <rustc_middle[c658cc71600ac6d8]::ty::context::TyCtxt>::instance_mir
24: 0x7f9d3970e58b - rustc_monomorphize[22d475880acb4f2e]::collector::items_of_instance
25: 0x7f9d3970e511 - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::invoke_provider_fn::__rust_begin_short_backtrace
26: 0x7f9d3970b1a4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::<rustc_middle[c658cc71600ac6d8]::query::caches::DefaultCache<(rustc_middle[c658cc71600ac6d8]::ty::instance::Instance, rustc_middle[c658cc71600ac6d8]::mono::CollectionMode), rustc_middle[c658cc71600ac6d8]::query::erase::ErasedData<[u8; 32usize]>>, false>
27: 0x7f9d3970ae0b - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::execute_query_non_incr::__rust_end_short_backtrace
28: 0x7f9d3a08beef - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
29: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
30: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
31: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
32: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
33: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
34: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
35: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
36: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
37: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
38: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
39: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
40: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
41: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
42: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
43: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
44: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
45: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
46: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
47: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
48: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
49: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
50: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
51: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
52: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
53: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
54: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
55: 0x7f9d3a08dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
56: 0x7f9d393cad33 - rustc_monomorphize[22d475880acb4f2e]::collector::collect_crate_mono_items::{closure#1}::{closure#0}
57: 0x7f9d395b00bb - rustc_monomorphize[22d475880acb4f2e]::partitioning::collect_and_partition_mono_items
58: 0x7f9d395afd56 - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::invoke_provider_fn::__rust_begin_short_backtrace
59: 0x7f9d39d765f4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::<rustc_middle[c658cc71600ac6d8]::query::caches::SingleCache<rustc_middle[c658cc71600ac6d8]::query::erase::ErasedData<[u8; 24usize]>>, false>
60: 0x7f9d39d7638a - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::execute_query_non_incr::__rust_end_short_backtrace
61: 0x7f9d39dfffc9 - rustc_codegen_ssa[47b3149ad30a1ffa]::base::codegen_crate::<rustc_codegen_llvm[922dabe6d3b2b7]::LlvmCodegenBackend>
62: 0x7f9d39dffccd - <rustc_codegen_llvm[922dabe6d3b2b7]::LlvmCodegenBackend as rustc_codegen_ssa[47b3149ad30a1ffa]::traits::backend::CodegenBackend>::codegen_crate
63: 0x7f9d39d9aa26 - <rustc_interface[57babec0e12977f3]::queries::Linker>::codegen_and_build_linker
64: 0x7f9d39d94e6c - rustc_interface[57babec0e12977f3]::interface::run_compiler::<(), rustc_driver_impl[50e76e1dd3a4a14e]::run_compiler::{closure#0}>::{closure#1}
65: 0x7f9d39d6217e - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[57babec0e12977f3]::util::run_in_thread_with_globals<rustc_interface[57babec0e12977f3]::util::run_in_thread_pool_with_globals<rustc_interface[57babec0e12977f3]::interface::run_compiler<(), rustc_driver_impl[50e76e1dd3a4a14e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
66: 0x7f9d39d628ad - <std[d7d0ddfb10bdc7]::thread::lifecycle::spawn_unchecked<rustc_interface[57babec0e12977f3]::util::run_in_thread_with_globals<rustc_interface[57babec0e12977f3]::util::run_in_thread_pool_with_globals<rustc_interface[57babec0e12977f3]::interface::run_compiler<(), rustc_driver_impl[50e76e1dd3a4a14e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[67c42cdc86eeb6b0]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
67: 0x7f9d39d6366c - <std[d7d0ddfb10bdc7]::sys::thread::unix::Thread>::new::thread_start
68: 0x7f9d3389697a - <unknown>
69: 0x7f9d3391a2bc - <unknown>
70: 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 `/home/sherlock/git/squirrelholex/native/rustc-ice-2026-04-30T09_41_32-775963.txt` to your bug report
note: rustc 1.97.0-nightly (c935696dd 2026-04-29) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type cdylib -C opt-level=3 -C lto -C linker=/home/sherlock/.cargo/bin/cargo-ndk -C strip=debuginfo
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [mir_shims] generating MIR shim for `core::future::async_drop::async_drop_in_place::{closure#0}`, instance=FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), core::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]))
#1 [items_of_instance] collecting items used by `core::future::async_drop::async_drop_in_place::<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>::{closure#0} - dropshim({async fn body of core::future::async_drop::async_drop_in_place<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>()}-{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()})`
... and 1 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
warning: `native` (lib) generated 1 warning
error: could not compile `native` (lib); 1 warning emitted
Caused by:
process didn't exit successfully: `/home/sherlock/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name native --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=125 --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C lto --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=2b0f79bd4c92e3b0 --out-dir /home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps --target x86_64-linux-android -C linker=/home/sherlock/.cargo/bin/cargo-ndk -C strip=debuginfo -L dependency=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps -L dependency=/home/sherlock/git/squirrelholex/native/target/release/deps --extern anyhow=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libanyhow-8adfbdc42924b94e.rlib --extern async_trait=/home/sherlock/git/squirrelholex/native/target/release/deps/libasync_trait-59f16db5dbd3440b.so --extern compio=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcompio-45365857b6bb55d3.rlib --extern crossfire=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcrossfire-f381fbf155289a1c.rlib --extern cyper=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcyper-061fe2e8304db2e0.rlib --extern futures_util=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libfutures_util-7787c3840e124231.rlib --extern http=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libhttp-9ea575a34f29afcb.rlib --extern itertools=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libitertools-583f566bec24a083.rlib --extern maxminddb=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libmaxminddb-4d955cf5f922ee6f.rlib --extern mimalloc=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libmimalloc-672374c8b9950d4b.rlib --extern paranoid_android=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libparanoid_android-05c9ddfb8b91ac42.rlib --extern rustls=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/librustls-15f3191e7cc84f43.rlib --extern thiserror=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libthiserror-d1a2db1d51a6dd98.rlib --extern tracing=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libtracing-2252a23a973a96f8.rlib --extern tracing_subscriber=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libtracing_subscriber-d62cdaa93d6e9cc4.rlib --extern uniffi=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libuniffi-a33c70a610c4735f.rlib --extern webpki_root_certs=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libwebpki_root_certs-22168427b0f9c1c4.rlib --extern wiresquirrel_core=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libwiresquirrel_core-8451d0b60e027c64.rlib -L native=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/build/ring-f62e438a978b4876/out -L native=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/build/libmimalloc-sys-5e01b4377365bdd7/out` (exit status: 101)
note: If the build failed due to a missing target, you can run this command:
note:
note: rustup target install x86_64-linux-android
Backtrace
error: internal compiler error: /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25: broken MIR in FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), std::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), std::future::ResumeTy, std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>, (), (&'{erased} wiresquirrel_core::control::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)])) (after phase change to runtime-optimized) at bb16[0]:
encountered `_0 = const std::async_iter::async_iter::<impl std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>>::PENDING` with incompatible types:
left-hand side has type: std::task::Poll<()>
right-hand side has type: std::task::Poll<std::option::Option<wiresquirrel_core::control::Statistic>>
--> /home/sherlock/git/squirrelholex/wiresquirrel/core/src/control/android.rs:44:60
|
44 | pub async gen fn export_statistics(&self) -> Statistic {
| ____________________________________________________________^
45 | | for await (public_key, tunnel) in self.tunnel_manager.all_tunnels() {
46 | | let Stats {
47 | | handshake_time: _handshake_time,
... |
68 | | }
| |_____^
thread 'rustc' (780353) panicked at /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25:
Box<dyn Any>
stack backtrace:
0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
1: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
2: <rustc_errors::DiagCtxtHandle>::span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
3: rustc_middle::util::bug::opt_span_bug_fmt::<rustc_span::span_encoding::Span>::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::span_bug_fmt::<rustc_span::span_encoding::Span>
7: <rustc_mir_transform::validate::CfgChecker>::fail::<alloc::string::String>
8: <rustc_mir_transform::validate::Validator as rustc_mir_transform::pass_manager::MirPass>::run_pass
9: rustc_mir_transform::run_optimization_passes
10: rustc_mir_transform::shim::make_shim
[... omitted 1 frame ...]
11: <rustc_middle::ty::context::TyCtxt>::instance_mir
12: rustc_monomorphize::collector::items_of_instance
[... omitted 1 frame ...]
13: rustc_monomorphize::collector::collect_items_rec
14: rustc_monomorphize::collector::collect_items_rec
15: rustc_monomorphize::collector::collect_items_rec
16: rustc_monomorphize::collector::collect_items_rec
17: rustc_monomorphize::collector::collect_items_rec
18: rustc_monomorphize::collector::collect_items_rec
19: rustc_monomorphize::collector::collect_items_rec
20: rustc_monomorphize::collector::collect_items_rec
21: rustc_monomorphize::collector::collect_items_rec
22: rustc_monomorphize::collector::collect_items_rec
23: rustc_monomorphize::collector::collect_items_rec
24: rustc_monomorphize::collector::collect_items_rec
25: rustc_monomorphize::collector::collect_items_rec
26: rustc_monomorphize::collector::collect_items_rec
27: rustc_monomorphize::collector::collect_items_rec
28: rustc_monomorphize::collector::collect_items_rec
29: rustc_monomorphize::collector::collect_items_rec
30: rustc_monomorphize::collector::collect_items_rec
31: rustc_monomorphize::collector::collect_items_rec
32: rustc_monomorphize::collector::collect_items_rec
33: rustc_monomorphize::collector::collect_items_rec
34: rustc_monomorphize::collector::collect_items_rec
35: rustc_monomorphize::collector::collect_items_rec
36: rustc_monomorphize::collector::collect_items_rec
37: rustc_monomorphize::collector::collect_items_rec
38: rustc_monomorphize::collector::collect_items_rec
39: rustc_monomorphize::collector::collect_items_rec
40: rustc_monomorphize::collector::collect_items_rec
41: rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}
42: rustc_monomorphize::partitioning::collect_and_partition_mono_items
[... omitted 1 frame ...]
43: rustc_codegen_ssa::base::codegen_crate::<rustc_codegen_llvm::LlvmCodegenBackend>
44: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
45: <rustc_interface::queries::Linker>::codegen_and_build_linker
46: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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 `/home/sherlock/git/squirrelholex/native/rustc-ice-2026-04-30T09_45_21-780351.txt` to your bug report
note: rustc 1.97.0-nightly (c935696dd 2026-04-29) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type cdylib -C opt-level=3 -C lto -C linker=/home/sherlock/.cargo/bin/cargo-ndk -C strip=debuginfo
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [mir_shims] generating MIR shim for `core::future::async_drop::async_drop_in_place::{closure#0}`, instance=FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), core::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]))
#1 [items_of_instance] collecting items used by `core::future::async_drop::async_drop_in_place::<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>::{closure#0} - dropshim({async fn body of core::future::async_drop::async_drop_in_place<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>()}-{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()})`
#2 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
warning: `native` (lib) generated 1 warning
error: could not compile `native` (lib); 1 warning emitted
Caused by:
process didn't exit successfully: `/home/sherlock/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name native --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=125 --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C lto --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=2b0f79bd4c92e3b0 --out-dir /home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps --target x86_64-linux-android -C linker=/home/sherlock/.cargo/bin/cargo-ndk -C strip=debuginfo -L dependency=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps -L dependency=/home/sherlock/git/squirrelholex/native/target/release/deps --extern anyhow=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libanyhow-8adfbdc42924b94e.rlib --extern async_trait=/home/sherlock/git/squirrelholex/native/target/release/deps/libasync_trait-59f16db5dbd3440b.so --extern compio=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcompio-45365857b6bb55d3.rlib --extern crossfire=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcrossfire-f381fbf155289a1c.rlib --extern cyper=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libcyper-061fe2e8304db2e0.rlib --extern futures_util=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libfutures_util-7787c3840e124231.rlib --extern http=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libhttp-9ea575a34f29afcb.rlib --extern itertools=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libitertools-583f566bec24a083.rlib --extern maxminddb=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libmaxminddb-4d955cf5f922ee6f.rlib --extern mimalloc=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libmimalloc-672374c8b9950d4b.rlib --extern paranoid_android=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libparanoid_android-05c9ddfb8b91ac42.rlib --extern rustls=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/librustls-15f3191e7cc84f43.rlib --extern thiserror=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libthiserror-d1a2db1d51a6dd98.rlib --extern tracing=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libtracing-2252a23a973a96f8.rlib --extern tracing_subscriber=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libtracing_subscriber-d62cdaa93d6e9cc4.rlib --extern uniffi=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libuniffi-a33c70a610c4735f.rlib --extern webpki_root_certs=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libwebpki_root_certs-22168427b0f9c1c4.rlib --extern wiresquirrel_core=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/deps/libwiresquirrel_core-8451d0b60e027c64.rlib -L native=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/build/ring-f62e438a978b4876/out -L native=/home/sherlock/git/squirrelholex/native/target/x86_64-linux-android/release/build/libmimalloc-sys-5e01b4377365bdd7/out` (exit status: 101)
note: If the build failed due to a missing target, you can run this command:
note:
note: rustup target install x86_64-linux-android
Details
thread 'rustc' panicked at /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25:
Box
stack backtrace:
0: 0x7fb3f4641d0b - ::create
1: 0x7fb3f4641c55 - ::force_capture
2: 0x7fb3f3650dad - std[d7d0ddfb10bdc7]::panicking::update_hook::>::{closure#0}
3: 0x7fb3f4654952 - std[d7d0ddfb10bdc7]::panicking::panic_with_hook
4: 0x7fb3f367fe51 - std[d7d0ddfb10bdc7]::panicking::begin_panic::::{closure#0}
5: 0x7fb3f3678cd6 - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_end_short_backtrace::::{closure#0}, !>
6: 0x7fb3f3676bc8 - std[d7d0ddfb10bdc7]::panicking::begin_panic::
7: 0x7fb3f368b331 - ::emit_producing_guarantee
8: 0x7fb3f3c339bc - ::span_bug::
9: 0x7fb3f3c5d8d6 - rustc_middle[c658cc71600ac6d8]::util::bug::opt_span_bug_fmt::::{closure#0}
10: 0x7fb3f3c5da82 - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0}
11: 0x7fb3f3c4e2bb - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !>
12: 0x7fb3f1aa6c08 - rustc_middle[c658cc71600ac6d8]::util::bug::span_bug_fmt::
13: 0x7fb3f1d4a435 - ::fail::
14: 0x7fb3f567a6e8 - ::run_pass
15: 0x7fb3f4c08cd0 - rustc_mir_transform[c5ba80edf3b750cd]::run_optimization_passes
16: 0x7fb3f5663817 - rustc_mir_transform[c5ba80edf3b750cd]::shim::make_shim
17: 0x7fb3f56617a0 - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::invoke_provider_fn::__rust_begin_short_backtrace
18: 0x7fb3f57d8c6d - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false>
19: 0x7fb3f57d897f - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::execute_query_non_incr::__rust_end_short_backtrace
20: 0x7fb3f570a6fa - ::instance_mir
21: 0x7fb3f570e58b - rustc_monomorphize[22d475880acb4f2e]::collector::items_of_instance
22: 0x7fb3f570e511 - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::invoke_provider_fn::__rust_begin_short_backtrace
23: 0x7fb3f570b1a4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false>
24: 0x7fb3f570ae0b - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::execute_query_non_incr::__rust_end_short_backtrace
25: 0x7fb3f608beef - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
26: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
27: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
28: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
29: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
30: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
31: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
32: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
33: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
34: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
35: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
36: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
37: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
38: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
39: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
40: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
41: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
42: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
43: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
44: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
45: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
46: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
47: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
48: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
49: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
50: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
51: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
52: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec
53: 0x7fb3f53cad33 - rustc_monomorphize[22d475880acb4f2e]::collector::collect_crate_mono_items::{closure#1}::{closure#0}
54: 0x7fb3f55b00bb - rustc_monomorphize[22d475880acb4f2e]::partitioning::collect_and_partition_mono_items
55: 0x7fb3f55afd56 - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::invoke_provider_fn::__rust_begin_short_backtrace
56: 0x7fb3f5d765f4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false>
57: 0x7fb3f5d7638a - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::execute_query_non_incr::__rust_end_short_backtrace
58: 0x7fb3f5dfffc9 - rustc_codegen_ssa[47b3149ad30a1ffa]::base::codegen_crate::
59: 0x7fb3f5dffccd - ::codegen_crate
60: 0x7fb3f5d9aa26 - ::codegen_and_build_linker
61: 0x7fb3f5d94e6c - rustc_interface[57babec0e12977f3]::interface::run_compiler::<(), rustc_driver_impl[50e76e1dd3a4a14e]::run_compiler::{closure#0}>::{closure#1}
62: 0x7fb3f5d6217e - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_begin_short_backtrace::::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
63: 0x7fb3f5d628ad - ::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[67c42cdc86eeb6b0]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
64: 0x7fb3f5d6366c - ::new::thread_start
65: 0x7fb3ef89697a -
66: 0x7fb3ef91a2bc -
67: 0x0 -
rustc version: 1.97.0-nightly (c935696 2026-04-29)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [mir_shims] generating MIR shim for core::future::async_drop::async_drop_in_place::{closure#0}, instance=FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), core::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]))
#1 [items_of_instance] collecting items used by core::future::async_drop::async_drop_in_place::<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>::{closure#0} - dropshim({async fn body of core::future::async_drop::async_drop_in_place<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>()}-{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()})
#2 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
use cargo-ndk to build the android ffi codes
cargo ndk -t x86_64 b -rCode
well... it is a close source project, I can't paste the full codes here, just the failed codes
Meta
rustc --version --verbose:Error output
Backtrace
the rustc-ice-2026-04-30T09_45_21-780351.txt file is
Details
thread 'rustc' panicked at /rustc-dev/c935696dd07ca51e6fba2f6579919eea2a50863b/compiler/rustc_mir_transform/src/validate.rs:82:25: Box stack backtrace: 0: 0x7fb3f4641d0b - ::create 1: 0x7fb3f4641c55 - ::force_capture 2: 0x7fb3f3650dad - std[d7d0ddfb10bdc7]::panicking::update_hook::>::{closure#0} 3: 0x7fb3f4654952 - std[d7d0ddfb10bdc7]::panicking::panic_with_hook 4: 0x7fb3f367fe51 - std[d7d0ddfb10bdc7]::panicking::begin_panic::::{closure#0} 5: 0x7fb3f3678cd6 - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_end_short_backtrace::::{closure#0}, !> 6: 0x7fb3f3676bc8 - std[d7d0ddfb10bdc7]::panicking::begin_panic:: 7: 0x7fb3f368b331 - ::emit_producing_guarantee 8: 0x7fb3f3c339bc - ::span_bug:: 9: 0x7fb3f3c5d8d6 - rustc_middle[c658cc71600ac6d8]::util::bug::opt_span_bug_fmt::::{closure#0} 10: 0x7fb3f3c5da82 - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} 11: 0x7fb3f3c4e2bb - rustc_middle[c658cc71600ac6d8]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> 12: 0x7fb3f1aa6c08 - rustc_middle[c658cc71600ac6d8]::util::bug::span_bug_fmt:: 13: 0x7fb3f1d4a435 - ::fail:: 14: 0x7fb3f567a6e8 - ::run_pass 15: 0x7fb3f4c08cd0 - rustc_mir_transform[c5ba80edf3b750cd]::run_optimization_passes 16: 0x7fb3f5663817 - rustc_mir_transform[c5ba80edf3b750cd]::shim::make_shim 17: 0x7fb3f56617a0 - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::invoke_provider_fn::__rust_begin_short_backtrace 18: 0x7fb3f57d8c6d - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false> 19: 0x7fb3f57d897f - rustc_query_impl[88f6ad3e1befde91]::query_impl::mir_shims::execute_query_non_incr::__rust_end_short_backtrace 20: 0x7fb3f570a6fa - ::instance_mir 21: 0x7fb3f570e58b - rustc_monomorphize[22d475880acb4f2e]::collector::items_of_instance 22: 0x7fb3f570e511 - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::invoke_provider_fn::__rust_begin_short_backtrace 23: 0x7fb3f570b1a4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false> 24: 0x7fb3f570ae0b - rustc_query_impl[88f6ad3e1befde91]::query_impl::items_of_instance::execute_query_non_incr::__rust_end_short_backtrace 25: 0x7fb3f608beef - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 26: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 27: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 28: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 29: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 30: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 31: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 32: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 33: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 34: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 35: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 36: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 37: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 38: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 39: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 40: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 41: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 42: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 43: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 44: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 45: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 46: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 47: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 48: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 49: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 50: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 51: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 52: 0x7fb3f608dd0e - rustc_monomorphize[22d475880acb4f2e]::collector::collect_items_rec 53: 0x7fb3f53cad33 - rustc_monomorphize[22d475880acb4f2e]::collector::collect_crate_mono_items::{closure#1}::{closure#0} 54: 0x7fb3f55b00bb - rustc_monomorphize[22d475880acb4f2e]::partitioning::collect_and_partition_mono_items 55: 0x7fb3f55afd56 - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::invoke_provider_fn::__rust_begin_short_backtrace 56: 0x7fb3f5d765f4 - rustc_query_impl[88f6ad3e1befde91]::execution::try_execute_query::>, false> 57: 0x7fb3f5d7638a - rustc_query_impl[88f6ad3e1befde91]::query_impl::collect_and_partition_mono_items::execute_query_non_incr::__rust_end_short_backtrace 58: 0x7fb3f5dfffc9 - rustc_codegen_ssa[47b3149ad30a1ffa]::base::codegen_crate:: 59: 0x7fb3f5dffccd - ::codegen_crate 60: 0x7fb3f5d9aa26 - ::codegen_and_build_linker 61: 0x7fb3f5d94e6c - rustc_interface[57babec0e12977f3]::interface::run_compiler::<(), rustc_driver_impl[50e76e1dd3a4a14e]::run_compiler::{closure#0}>::{closure#1} 62: 0x7fb3f5d6217e - std[d7d0ddfb10bdc7]::sys::backtrace::__rust_begin_short_backtrace::::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> 63: 0x7fb3f5d628ad - ::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[67c42cdc86eeb6b0]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 64: 0x7fb3f5d6366c - ::new::thread_start 65: 0x7fb3ef89697a - 66: 0x7fb3ef91a2bc - 67: 0x0 -rustc version: 1.97.0-nightly (c935696 2026-04-29)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [mir_shims] generating MIR shim for
core::future::async_drop::async_drop_in_place::{closure#0}, instance=FutureDropPollShim(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), Coroutine(DefId(2:16492 ~ core[be50]::future::async_drop::async_drop_in_place::{closure#0}), [Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]), (), core::future::ResumeTy, (), (), (*mut Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]),)]), Coroutine(DefId(164:37 ~ wiresquirrel_core[fade]::control::android::{impl#1}::export_statistics::{closure#0}), [wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>, (), core::future::ResumeTy, core::task::poll::Poll<core::option::Option<wiresquirrel_core::control::android::Statistic>>, (), (&'{erased} wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>,)]))#1 [items_of_instance] collecting items used by
core::future::async_drop::async_drop_in_place::<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>::{closure#0} - dropshim({async fn body of core::future::async_drop::async_drop_in_place<{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()}>()}-{async gen fn body of wiresquirrel_core::control::android::Control<wiresquirrel_core::quic::peer_manage::PeerManager<wiresquirrel_core::resolve::Resolver>>::export_statistics()})#2 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack