Closed
Description
Code
pub trait Event {
fn func() -> bool;
}
impl Event for String {
fn func() -> bool {
true
}
}
pub async fn auth_check<FS, FE, FutS, FutE, Fetched>(fetch_state: FS, fetch_event: FE) -> bool
where
FS: Fn(&str, &str) -> FutS + Send,
FE: Fn(&str) -> FutE + Send,
FutS: Future<Output = Option<Fetched>> + Send,
FutE: Future<Output = Option<Fetched>> + Send,
Fetched: Event + Send,
{
fetch_state("a", "b").await == fetch_event("c").await
}
Meta
rustc --version --verbose
:
rustc 1.88.0 (6b00bc388 2025-06-23)
binary: rustc
commit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc
commit-date: 2025-06-23
host: aarch64-apple-darwin
release: 1.88.0
LLVM version: 20.1.5
Error output
ZSH⠀> rustc --edition 2024 ice.rs
error[E0601]: `main` function not found in crate `ice`
--> ice.rs:19:2
|
19 | }
| ^ consider adding a `main` function to `ice.rs`
thread 'rustc' panicked at compiler/rustc_hir_typeck/src/gather_locals.rs:112:17:
assertion `left == right` failed
left: Some(?38t)
right: None
stack backtrace:
0: 0x10e0197e4 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h2c3f7b4c4ce00f07
1: 0x10b609558 - core::fmt::write::h1dbafa36e52e01c5
2: 0x10e00e118 - std::io::Write::write_fmt::he72d49f3084ee601
3: 0x10e0196a4 - std::sys::backtrace::BacktraceLock::print::h1fb87370474572ed
4: 0x10e01e360 - std::panicking::default_hook::{{closure}}::h195a9b2c829547eb
5: 0x10e01e030 - std::panicking::default_hook::h18c3aa3e3a3584d5
6: 0x10c174724 - std[72c7846bd0c5b2df]::panicking::update_hook::<alloc[546c5ff29fefb371]::boxed::Box<rustc_driver_impl[8a44d88c4f0f23]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x10e01ed48 - std::panicking::rust_panic_with_hook::h02a9fa3cad928562
8: 0x10e01e93c - std::panicking::begin_panic_handler::{{closure}}::hd1cc56578f819958
9: 0x10e019c88 - std::sys::backtrace::__rust_end_short_backtrace::h52c1e479035e4bc4
10: 0x10e01e604 - __rustc[4794b31dd7191200]::rust_begin_unwind
11: 0x110c5955c - core::panicking::panic_fmt::heec96bfc27e6c546
12: 0x110c5992c - core::panicking::assert_failed_inner::hed32fec0f098204f
13: 0x110ddade8 - core[27359fb985a9eb5]::panicking::assert_failed::<core[27359fb985a9eb5]::option::Option<rustc_middle[be4ece2d81dbf2e4]::ty::Ty>, core[27359fb985a9eb5]::option::Option<rustc_middle[be4ece2d81dbf2e4]::ty::Ty>>
14: 0x10c7df530 - <rustc_hir_typeck[82c1352f9fdf0eae]::gather_locals::GatherLocalsVisitor as rustc_hir[9ba99a8cb2087a93]::intravisit::Visitor>::visit_pat
15: 0x10c84e000 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
16: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
17: 0x10c80f85c - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_overloaded_binop
18: 0x10c84cadc - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
19: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
20: 0x10c7c3800 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_block
21: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
22: 0x10c84aaac - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
23: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
24: 0x10c7c3800 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_block
25: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
26: 0x10c787448 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_return_or_body_tail
27: 0x10c83e3b8 - rustc_hir_typeck[82c1352f9fdf0eae]::check::check_fn
28: 0x10c856558 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
29: 0x10c7851f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
30: 0x10c787448 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_return_or_body_tail
31: 0x10c83e3b8 - rustc_hir_typeck[82c1352f9fdf0eae]::check::check_fn
32: 0x10c87a910 - rustc_hir_typeck[82c1352f9fdf0eae]::typeck_with_inspect::{closure#0}
33: 0x10c83abf4 - rustc_hir_typeck[82c1352f9fdf0eae]::typeck
34: 0x10d7770a4 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
35: 0x10d5ca620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
36: 0x10d7a64f8 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
37: 0x10cf37a28 - rustc_mir_build[e6d49e91f9868cb0]::thir::pattern::check_match::check_match
38: 0x10d771388 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
39: 0x10d5c3754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
40: 0x10d7b2710 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
41: 0x10cef8404 - rustc_mir_build[e6d49e91f9868cb0]::builder::build_mir
42: 0x10d0ec174 - rustc_mir_transform[1f00383fcc5b1aba]::mir_built
43: 0x10d7774ac - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
44: 0x10d5ca620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
45: 0x10d78be50 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
46: 0x10d0d445c - rustc_mir_transform[1f00383fcc5b1aba]::ffi_unwind_calls::has_ffi_unwind_calls
47: 0x10d774888 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
48: 0x10d5c3754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
49: 0x10d7d05a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::has_ffi_unwind_calls::get_query_non_incr::__rust_end_short_backtrace
50: 0x10d0ec5c8 - rustc_mir_transform[1f00383fcc5b1aba]::mir_promoted
51: 0x10d7718b4 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 16usize]>>
52: 0x10d5bf944 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
53: 0x10d78d158 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
54: 0x10bc835f8 - rustc_borrowck[c6665d0970404557]::mir_borrowck
55: 0x10d77185c - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
56: 0x10d5ca620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
57: 0x10d7a72ec - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
58: 0x10c534b3c - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
59: 0x10c537008 - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::type_of_opaque
60: 0x10d772338 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
61: 0x10d544478 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefIdCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
62: 0x10d7817a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of_opaque::get_query_non_incr::__rust_end_short_backtrace
63: 0x10c535790 - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::type_of
64: 0x10d7770fc - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
65: 0x10d544478 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefIdCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
66: 0x10d7812f0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
67: 0x10c4b8980 - rustc_hir_analysis[32f341dace8fcd26]::check::check::check_opaque
68: 0x10c4c131c - rustc_hir_analysis[32f341dace8fcd26]::check::check::check_item_type
69: 0x10c4ed7c0 - rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_well_formed
70: 0x10d773520 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
71: 0x10d5c3754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
72: 0x10d7d33a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
73: 0x10c416ae8 - <rustc_middle[be4ece2d81dbf2e4]::hir::ModuleItems>::par_opaques::<rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_mod_type_wf::{closure#4}>::{closure#0}
74: 0x10c4fd884 - rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_mod_type_wf
75: 0x10d773504 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
76: 0x10d584510 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefaultCache<rustc_span[93d1c13bb489426]::def_id::LocalModDefId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
77: 0x10d7a4de8 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
78: 0x10c57bb50 - rustc_hir_analysis[32f341dace8fcd26]::check_crate
79: 0x10ca5e500 - rustc_interface[3c49f4d970e728]::passes::run_required_analyses
80: 0x10ca61494 - rustc_interface[3c49f4d970e728]::passes::analysis
81: 0x10d777118 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 0usize]>>
82: 0x10d54812c - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::SingleCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
83: 0x10d78339c - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
84: 0x10c125768 - rustc_interface[3c49f4d970e728]::passes::create_and_enter_global_ctxt::<core[27359fb985a9eb5]::option::Option<rustc_interface[3c49f4d970e728]::queries::Linker>, rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}::{closure#2}>
85: 0x10c171524 - rustc_interface[3c49f4d970e728]::interface::run_compiler::<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}
86: 0x10c16247c - std[72c7846bd0c5b2df]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[3c49f4d970e728]::util::run_in_thread_with_globals<rustc_interface[3c49f4d970e728]::util::run_in_thread_pool_with_globals<rustc_interface[3c49f4d970e728]::interface::run_compiler<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
87: 0x10c177ee0 - <<std[72c7846bd0c5b2df]::thread::Builder>::spawn_unchecked_<rustc_interface[3c49f4d970e728]::util::run_in_thread_with_globals<rustc_interface[3c49f4d970e728]::util::run_in_thread_pool_with_globals<rustc_interface[3c49f4d970e728]::interface::run_compiler<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[27359fb985a9eb5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
88: 0x10e02128c - std::sys::pal::unix::thread::Thread::new::thread_start::hf0cf67e969add794
89: 0x18c2f6c0c - __pthread_cond_wait
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.88.0 (6b00bc388 2025-06-23) running on aarch64-apple-darwin
query stack during panic:
#0 [typeck] type-checking `auth_check`
#1 [check_match] match-checking `auth_check`
... and 9 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0601`.
Backtrace
ZSH⠀> RUST_BACKTRACE=full rustc --edition 2024 ice.rs
error[E0601]: `main` function not found in crate `ice`
--> ice.rs:19:2
|
19 | }
| ^ consider adding a `main` function to `ice.rs`
thread 'rustc' panicked at compiler/rustc_hir_typeck/src/gather_locals.rs:112:17:
assertion `left == right` failed
left: Some(?38t)
right: None
stack backtrace:
0: 0x11011d7e4 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h2c3f7b4c4ce00f07
1: 0x10d70d558 - core::fmt::write::h1dbafa36e52e01c5
2: 0x110112118 - std::io::Write::write_fmt::he72d49f3084ee601
3: 0x11011d6a4 - std::sys::backtrace::BacktraceLock::print::h1fb87370474572ed
4: 0x110122360 - std::panicking::default_hook::{{closure}}::h195a9b2c829547eb
5: 0x110122030 - std::panicking::default_hook::h18c3aa3e3a3584d5
6: 0x10e278724 - std[72c7846bd0c5b2df]::panicking::update_hook::<alloc[546c5ff29fefb371]::boxed::Box<rustc_driver_impl[8a44d88c4f0f23]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x110122d48 - std::panicking::rust_panic_with_hook::h02a9fa3cad928562
8: 0x11012293c - std::panicking::begin_panic_handler::{{closure}}::hd1cc56578f819958
9: 0x11011dc88 - std::sys::backtrace::__rust_end_short_backtrace::h52c1e479035e4bc4
10: 0x110122604 - __rustc[4794b31dd7191200]::rust_begin_unwind
11: 0x112d5d55c - core::panicking::panic_fmt::heec96bfc27e6c546
12: 0x112d5d92c - core::panicking::assert_failed_inner::hed32fec0f098204f
13: 0x112edede8 - core[27359fb985a9eb5]::panicking::assert_failed::<core[27359fb985a9eb5]::option::Option<rustc_middle[be4ece2d81dbf2e4]::ty::Ty>, core[27359fb985a9eb5]::option::Option<rustc_middle[be4ece2d81dbf2e4]::ty::Ty>>
14: 0x10e8e3530 - <rustc_hir_typeck[82c1352f9fdf0eae]::gather_locals::GatherLocalsVisitor as rustc_hir[9ba99a8cb2087a93]::intravisit::Visitor>::visit_pat
15: 0x10e952000 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
16: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
17: 0x10e91385c - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_overloaded_binop
18: 0x10e950adc - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
19: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
20: 0x10e8c7800 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_block
21: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
22: 0x10e94eaac - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
23: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
24: 0x10e8c7800 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_block
25: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
26: 0x10e88b448 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_return_or_body_tail
27: 0x10e9423b8 - rustc_hir_typeck[82c1352f9fdf0eae]::check::check_fn
28: 0x10e95a558 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_kind
29: 0x10e8891f4 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
30: 0x10e88b448 - <rustc_hir_typeck[82c1352f9fdf0eae]::fn_ctxt::FnCtxt>::check_return_or_body_tail
31: 0x10e9423b8 - rustc_hir_typeck[82c1352f9fdf0eae]::check::check_fn
32: 0x10e97e910 - rustc_hir_typeck[82c1352f9fdf0eae]::typeck_with_inspect::{closure#0}
33: 0x10e93ebf4 - rustc_hir_typeck[82c1352f9fdf0eae]::typeck
34: 0x10f87b0a4 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
35: 0x10f6ce620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
36: 0x10f8aa4f8 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
37: 0x10f03ba28 - rustc_mir_build[e6d49e91f9868cb0]::thir::pattern::check_match::check_match
38: 0x10f875388 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
39: 0x10f6c7754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
40: 0x10f8b6710 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
41: 0x10effc404 - rustc_mir_build[e6d49e91f9868cb0]::builder::build_mir
42: 0x10f1f0174 - rustc_mir_transform[1f00383fcc5b1aba]::mir_built
43: 0x10f87b4ac - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
44: 0x10f6ce620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
45: 0x10f88fe50 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
46: 0x10f1d845c - rustc_mir_transform[1f00383fcc5b1aba]::ffi_unwind_calls::has_ffi_unwind_calls
47: 0x10f878888 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
48: 0x10f6c7754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
49: 0x10f8d45a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::has_ffi_unwind_calls::get_query_non_incr::__rust_end_short_backtrace
50: 0x10f1f05c8 - rustc_mir_transform[1f00383fcc5b1aba]::mir_promoted
51: 0x10f8758b4 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 16usize]>>
52: 0x10f6c3944 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
53: 0x10f891158 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
54: 0x10dd875f8 - rustc_borrowck[c6665d0970404557]::mir_borrowck
55: 0x10f87585c - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
56: 0x10f6ce620 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_hir[9ba99a8cb2087a93]::hir_id::OwnerId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
57: 0x10f8ab2ec - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
58: 0x10e638b3c - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
59: 0x10e63b008 - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::type_of_opaque
60: 0x10f876338 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
61: 0x10f648478 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefIdCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
62: 0x10f8857a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of_opaque::get_query_non_incr::__rust_end_short_backtrace
63: 0x10e639790 - rustc_hir_analysis[32f341dace8fcd26]::collect::type_of::type_of
64: 0x10f87b0fc - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>
65: 0x10f648478 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefIdCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
66: 0x10f8852f0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
67: 0x10e5bc980 - rustc_hir_analysis[32f341dace8fcd26]::check::check::check_opaque
68: 0x10e5c531c - rustc_hir_analysis[32f341dace8fcd26]::check::check::check_item_type
69: 0x10e5f17c0 - rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_well_formed
70: 0x10f877520 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
71: 0x10f6c7754 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_data_structures[f8a49ce7c8670f7e]::vec_cache::VecCache<rustc_span[93d1c13bb489426]::def_id::CrateNum, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[e5df0f758f72467d]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
72: 0x10f8d73a0 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
73: 0x10e51aae8 - <rustc_middle[be4ece2d81dbf2e4]::hir::ModuleItems>::par_opaques::<rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_mod_type_wf::{closure#4}>::{closure#0}
74: 0x10e601884 - rustc_hir_analysis[32f341dace8fcd26]::check::wfcheck::check_mod_type_wf
75: 0x10f877504 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>
76: 0x10f688510 - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::DefaultCache<rustc_span[93d1c13bb489426]::def_id::LocalModDefId, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
77: 0x10f8a8de8 - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
78: 0x10e67fb50 - rustc_hir_analysis[32f341dace8fcd26]::check_crate
79: 0x10eb62500 - rustc_interface[3c49f4d970e728]::passes::run_required_analyses
80: 0x10eb65494 - rustc_interface[3c49f4d970e728]::passes::analysis
81: 0x10f87b118 - rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 0usize]>>
82: 0x10f64c12c - rustc_query_system[e5df0f758f72467d]::query::plumbing::try_execute_query::<rustc_query_impl[f2b4fd6c2e4cdec6]::DynamicConfig<rustc_query_system[e5df0f758f72467d]::query::caches::SingleCache<rustc_middle[be4ece2d81dbf2e4]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[f2b4fd6c2e4cdec6]::plumbing::QueryCtxt, false>
83: 0x10f88739c - rustc_query_impl[f2b4fd6c2e4cdec6]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
84: 0x10e229768 - rustc_interface[3c49f4d970e728]::passes::create_and_enter_global_ctxt::<core[27359fb985a9eb5]::option::Option<rustc_interface[3c49f4d970e728]::queries::Linker>, rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}::{closure#2}>
85: 0x10e275524 - rustc_interface[3c49f4d970e728]::interface::run_compiler::<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}
86: 0x10e26647c - std[72c7846bd0c5b2df]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[3c49f4d970e728]::util::run_in_thread_with_globals<rustc_interface[3c49f4d970e728]::util::run_in_thread_pool_with_globals<rustc_interface[3c49f4d970e728]::interface::run_compiler<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
87: 0x10e27bee0 - <<std[72c7846bd0c5b2df]::thread::Builder>::spawn_unchecked_<rustc_interface[3c49f4d970e728]::util::run_in_thread_with_globals<rustc_interface[3c49f4d970e728]::util::run_in_thread_pool_with_globals<rustc_interface[3c49f4d970e728]::interface::run_compiler<(), rustc_driver_impl[8a44d88c4f0f23]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[27359fb985a9eb5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
88: 0x11012528c - std::sys::pal::unix::thread::Thread::new::thread_start::hf0cf67e969add794
89: 0x18c2f6c0c - __pthread_cond_wait
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.88.0 (6b00bc388 2025-06-23) running on aarch64-apple-darwin
query stack during panic:
#0 [typeck] type-checking `auth_check`
#1 [check_match] match-checking `auth_check`
#2 [mir_built] building MIR for `auth_check`
#3 [has_ffi_unwind_calls] checking if `auth_check` contains FFI-unwind calls
#4 [mir_promoted] promoting constants in MIR for `auth_check`
#5 [mir_borrowck] borrow-checking `auth_check`
#6 [type_of_opaque] computing type of opaque `auth_check::{opaque#0}`
#7 [type_of] computing type of `auth_check::{opaque#0}`
#8 [check_well_formed] checking that `auth_check::{opaque#0}` is well-formed
#9 [check_mod_type_wf] checking that types are well-formed in top-level module
#10 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0601`.