thread 'rustc' panicked at compiler/rustc_infer/src/infer/mod.rs:956:17: Box stack backtrace: 0: 0x103656cd0 - std::backtrace::Backtrace::create::h9c81e321f132e13f 1: 0x10cdda25c - as core[7515e878ec86e681]::ops::function::Fn<(&dyn for<'a, 'b> core[7515e878ec86e681]::ops::function::Fn<(&'a core[7515e878ec86e681]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[7515e878ec86e681]::marker::Sync + core[7515e878ec86e681]::marker::Send, &core[7515e878ec86e681]::panic::panic_info::PanicInfo)>>::call 2: 0x10366fc84 - std::panicking::rust_panic_with_hook::h7c73fc6bbc313918 3: 0x10ce3e728 - std[3d93147608665edc]::panicking::begin_panic::::{closure#0} 4: 0x10ce3e35c - std[3d93147608665edc]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> 5: 0x110f14a84 - std[3d93147608665edc]::panicking::begin_panic:: 6: 0x10ce28efc - ::emit_producing_guarantee 7: 0x10d3f0cd0 - ::span_bug:: 8: 0x10d3f6c84 - rustc_middle[629cda8e2a4cd8db]::util::bug::opt_span_bug_fmt::::{closure#0} 9: 0x10d3f6cb8 - rustc_middle[629cda8e2a4cd8db]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} 10: 0x10d3f6af0 - rustc_middle[629cda8e2a4cd8db]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> 11: 0x110f6b644 - rustc_middle[629cda8e2a4cd8db]::util::bug::span_bug_fmt:: 12: 0x10d46664c - ::subtype_predicate 13: 0x10e7b74a0 - ::process_obligation 14: 0x10e79ea14 - >::process_obligations:: 15: 0x10e7ade58 - ::select_where_possible 16: 0x10d1af640 - ::check_argument_types 17: 0x10d1aefa4 - ::check_method_argument_types 18: 0x10d1fbf64 - ::check_expr_kind 19: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 20: 0x10d1b6658 - ::check_decl_initializer 21: 0x10d1b67d8 - ::check_decl 22: 0x10d1b6c48 - ::check_stmt 23: 0x10d1b719c - ::check_block_with_expected 24: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 25: 0x10d1b71d0 - ::check_block_with_expected 26: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 27: 0x10d1afb0c - ::check_argument_types 28: 0x10d18c198 - ::confirm_builtin_call 29: 0x10d18acb4 - ::check_call 30: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 31: 0x10d1fbb20 - ::check_expr_kind 32: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 33: 0x10d1afb0c - ::check_argument_types 34: 0x10d18c198 - ::confirm_builtin_call 35: 0x10d18acb4 - ::check_call 36: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 37: 0x10d1afb0c - ::check_argument_types 38: 0x10d18c198 - ::confirm_builtin_call 39: 0x10d18acb4 - ::check_call 40: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 41: 0x10d19afe8 - ::check_return_expr 42: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 43: 0x10d1f70dc - ::check_expr_closure 44: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 45: 0x10d1afb0c - ::check_argument_types 46: 0x10d18c198 - ::confirm_builtin_call 47: 0x10d18acb4 - ::check_call 48: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 49: 0x10d1b71d0 - ::check_block_with_expected 50: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 51: 0x10d1f954c - ::check_expr_kind 52: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 53: 0x10d19afe8 - ::check_return_expr 54: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 55: 0x10d1f70dc - ::check_expr_closure 56: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 57: 0x10d1afb0c - ::check_argument_types 58: 0x10d18c198 - ::confirm_builtin_call 59: 0x10d18acb4 - ::check_call 60: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 61: 0x10d1b71d0 - ::check_block_with_expected 62: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 63: 0x10d1afb0c - ::check_argument_types 64: 0x10d1aefa4 - ::check_method_argument_types 65: 0x10d1fbf64 - ::check_expr_kind 66: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 67: 0x10d1b6658 - ::check_decl_initializer 68: 0x10d1b67d8 - ::check_decl 69: 0x10d1b6c48 - ::check_stmt 70: 0x10d1b719c - ::check_block_with_expected 71: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 72: 0x10d1afb0c - ::check_argument_types 73: 0x10d1aefa4 - ::check_method_argument_types 74: 0x10d1fbf64 - ::check_expr_kind 75: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 76: 0x10d1b71d0 - ::check_block_with_expected 77: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 78: 0x10d1b71d0 - ::check_block_with_expected 79: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 80: 0x10d1afb0c - ::check_argument_types 81: 0x10d18c198 - ::confirm_builtin_call 82: 0x10d18acb4 - ::check_call 83: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 84: 0x10d1fbb20 - ::check_expr_kind 85: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 86: 0x10d1afb0c - ::check_argument_types 87: 0x10d18c198 - ::confirm_builtin_call 88: 0x10d18acb4 - ::check_call 89: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 90: 0x10d1afb0c - ::check_argument_types 91: 0x10d18c198 - ::confirm_builtin_call 92: 0x10d18acb4 - ::check_call 93: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 94: 0x10d19afe8 - ::check_return_expr 95: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 96: 0x10d1f70dc - ::check_expr_closure 97: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 98: 0x10d1afb0c - ::check_argument_types 99: 0x10d18c198 - ::confirm_builtin_call 100: 0x10d18acb4 - ::check_call 101: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 102: 0x10d1b71d0 - ::check_block_with_expected 103: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 104: 0x10d1f954c - ::check_expr_kind 105: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 106: 0x10d19afe8 - ::check_return_expr 107: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 108: 0x10d1f70dc - ::check_expr_closure 109: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 110: 0x10d1afb0c - ::check_argument_types 111: 0x10d18c198 - ::confirm_builtin_call 112: 0x10d18acb4 - ::check_call 113: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 114: 0x10d1b71d0 - ::check_block_with_expected 115: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 116: 0x10d1afb0c - ::check_argument_types 117: 0x10d1aefa4 - ::check_method_argument_types 118: 0x10d1fbf64 - ::check_expr_kind 119: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 120: 0x10d1b6658 - ::check_decl_initializer 121: 0x10d1b67d8 - ::check_decl 122: 0x10d1b6c48 - ::check_stmt 123: 0x10d1b719c - ::check_block_with_expected 124: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 125: 0x10d1b71d0 - ::check_block_with_expected 126: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 127: 0x10d1afb0c - ::check_argument_types 128: 0x10d18c198 - ::confirm_builtin_call 129: 0x10d18acb4 - ::check_call 130: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 131: 0x10d1fbb20 - ::check_expr_kind 132: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 133: 0x10d1afb0c - ::check_argument_types 134: 0x10d18c198 - ::confirm_builtin_call 135: 0x10d18acb4 - ::check_call 136: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 137: 0x10d1afb0c - ::check_argument_types 138: 0x10d18c198 - ::confirm_builtin_call 139: 0x10d18acb4 - ::check_call 140: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 141: 0x10d19afe8 - ::check_return_expr 142: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 143: 0x10d1f70dc - ::check_expr_closure 144: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 145: 0x10d1afb0c - ::check_argument_types 146: 0x10d18c198 - ::confirm_builtin_call 147: 0x10d18acb4 - ::check_call 148: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 149: 0x10d1f954c - ::check_expr_kind 150: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 151: 0x10d1b71d0 - ::check_block_with_expected 152: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 153: 0x10d1b71d0 - ::check_block_with_expected 154: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 155: 0x10d1b71d0 - ::check_block_with_expected 156: 0x10d19a4b8 - ::check_expr_with_expectation_and_args 157: 0x10d19afe8 - ::check_return_expr 158: 0x10d301ef4 - rustc_hir_typeck[d41d9fa0d9f28cce]::check::check_fn 159: 0x10d2ea9bc - rustc_hir_typeck[d41d9fa0d9f28cce]::typeck 160: 0x10e0ada74 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 161: 0x10e1cbc34 - >::call_once 162: 0x10e0523e4 - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 163: 0x10e1ce76c - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::typeck::get_query_incr::__rust_end_short_backtrace 164: 0x10cfb1068 - rustc_middle[629cda8e2a4cd8db]::query::plumbing::query_get_at::>> 165: 0x10cfc5304 - rustc_hir_analysis[e4629a75d960984e]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit 166: 0x10cfe0658 - rustc_hir_analysis[e4629a75d960984e]::collect::type_of::type_of_opaque 167: 0x10e0a9144 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 168: 0x10e24ebf4 - >::call_once 169: 0x10dfbebdc - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 170: 0x10e1a865c - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace 171: 0x10cfc94c4 - rustc_middle[629cda8e2a4cd8db]::query::plumbing::query_get_at::>> 172: 0x10cfdf7d0 - rustc_hir_analysis[e4629a75d960984e]::collect::type_of::type_of 173: 0x10e0adaf4 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 174: 0x10e254df8 - >::call_once 175: 0x10dfbebdc - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 176: 0x10e1a84d0 - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace 177: 0x10d86e3e4 - rustc_middle[629cda8e2a4cd8db]::query::plumbing::query_get_at::>> 178: 0x10d85f584 - ::expand_opaque_ty 179: 0x10d85f698 - >::fold_ty 180: 0x10d94a498 - <&rustc_middle[629cda8e2a4cd8db]::ty::list::RawList<(), rustc_middle[629cda8e2a4cd8db]::ty::Ty> as rustc_type_ir[e5e638a38c0cd4a]::fold::TypeFoldable>::try_fold_with:: 181: 0x10d8803fc - >::try_super_fold_with:: 182: 0x10d85f678 - >::fold_ty 183: 0x10d86299c - rustc_middle[629cda8e2a4cd8db]::ty::util::fold_list::, rustc_middle[629cda8e2a4cd8db]::ty::generic_args::GenericArg, <&rustc_middle[629cda8e2a4cd8db]::ty::list::RawList<(), rustc_middle[629cda8e2a4cd8db]::ty::generic_args::GenericArg> as rustc_type_ir[e5e638a38c0cd4a]::fold::TypeFoldable>::try_fold_with::{closure#0}> 184: 0x10d880284 - >::try_super_fold_with:: 185: 0x10d85f678 - >::fold_ty 186: 0x10d9490ac - <&rustc_middle[629cda8e2a4cd8db]::ty::list::RawList<(), rustc_middle[629cda8e2a4cd8db]::ty::generic_args::GenericArg> as rustc_type_ir[e5e638a38c0cd4a]::fold::TypeFoldable>::try_fold_with:: 187: 0x10d880254 - >::try_super_fold_with:: 188: 0x10d85f678 - >::fold_ty 189: 0x10d85f5b4 - ::expand_opaque_ty 190: 0x10d7f3e84 - ::try_expand_impl_trait_type 191: 0x10cfb7924 - rustc_hir_analysis[e4629a75d960984e]::check::check::check_item_type 192: 0x10d12c56c - rustc_hir_analysis[e4629a75d960984e]::check::wfcheck::check_well_formed 193: 0x10e0aa2b8 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 194: 0x10e1d61b4 - >::call_once 195: 0x10e05dc5c - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 196: 0x10e1e6a98 - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace 197: 0x10d00e8dc - rustc_middle[629cda8e2a4cd8db]::query::plumbing::query_ensure_error_guaranteed::>, ()> 198: 0x10d13c3f4 - ::run::, rustc_data_structures[7b27857b5b6b7047]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[9ca4dba0bf3746b]::hir::ItemId], rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed, ::par_items::{closure#0}>::{closure#0}::{closure#2}::{closure#0}> 199: 0x10d00be8c - ::par_items:: 200: 0x10d132d30 - rustc_hir_analysis[e4629a75d960984e]::check::wfcheck::check_mod_type_wf 201: 0x10e0aa294 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 202: 0x10e2025e4 - >::call_once 203: 0x10e008e14 - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 204: 0x10e133e1c - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace 205: 0x10d153fd0 - rustc_hir_analysis[e4629a75d960984e]::check_crate 206: 0x10d50a15c - rustc_interface[f7285cbade26d35]::passes::analysis 207: 0x10e0adb14 - rustc_query_impl[1c7ca030b5f3ba97]::plumbing::__rust_begin_short_backtrace::> 208: 0x10e1d72c4 - >::call_once 209: 0x10dfc7aa0 - rustc_query_system[db975b41d4a5214b]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1c7ca030b5f3ba97]::plumbing::QueryCtxt, true> 210: 0x10e255e10 - rustc_query_impl[1c7ca030b5f3ba97]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace 211: 0x10cd4ccc8 - ::enter::> 212: 0x10cd9e92c - ::enter::, rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>> 213: 0x10cdcfd68 - >::set::, rustc_driver_impl[1b105f409bb7bb18]::run_compiler::{closure#0}>::{closure#1}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>> 214: 0x10cd6c44c - rustc_span[6e93dcc1d40aacd1]::create_session_globals_then::, rustc_interface[f7285cbade26d35]::util::run_in_thread_with_globals, rustc_driver_impl[1b105f409bb7bb18]::run_compiler::{closure#0}>::{closure#1}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}> 215: 0x10cdd890c - std[3d93147608665edc]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[1b105f409bb7bb18]::run_compiler::{closure#0}>::{closure#1}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>> 216: 0x10cd78824 - <::spawn_unchecked_, rustc_driver_impl[1b105f409bb7bb18]::run_compiler::{closure#0}>::{closure#1}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7515e878ec86e681]::result::Result<(), rustc_span[6e93dcc1d40aacd1]::ErrorGuaranteed>>::{closure#2} as core[7515e878ec86e681]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 217: 0x10367870c - std::sys::pal::unix::thread::Thread::new::thread_start::h46b0904b4bed29fb 218: 0x1aa79bfa8 - __pthread_joiner_wake rustc version: 1.79.0-nightly (1cec373f6 2024-04-16) platform: aarch64-apple-darwin query stack during panic: #0 [typeck] type-checking `app::__App` #1 [type_of_opaque] computing type of opaque `app::__App::{opaque#0}` #2 [type_of] computing type of `app::__App::{opaque#0}` #3 [check_well_formed] checking that `app::App::{opaque#0}` is well-formed #4 [check_mod_type_wf] checking that types are well-formed in module `app` #5 [analysis] running analysis passes on this crate end of query stack