Repository: rust
Issue: Internal Compiler Error
Labels: I-ICE,T-compiler,A-incr-comp,C-bug,S-needs-repro

### Code

Company internal code, not open-source.

### Meta

`rustc --version --verbose`:

```
 rustc 1.71.0 (8ede3aae2 2023-07-12) running on x86_64-apple-darwin
```

### Error output

```
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 2, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 3, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(TraitPredicate(<S as store::Store>, polarity:Positive), []), Binder(TraitPredicate(<S as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Sized>, polarity:Positive), []), Binder(OutlivesPredicate(S, ReLateBound(DebruijnIndex(1), BoundRegion { var: 4, kind: BrAnon(None) })), [])], reveal: UserFacing, constness: NotConst }, value: Normalize { value: [async block@<elided>218:5: 219:23] } }, max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }] }
- dep-node: type_op_normalize_ty(511183b2fcc3c1f-575208a9b6926c75)', /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/compiler/rustc_query_system/src/dep_graph/graph.rs:350:9
stack backtrace:
   0:        0x10723d8b3 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h9da7574d41a27793
   1:        0x107297cab - core::fmt::write::h30e9018632f2aef2
   2:        0x107232ad8 - std::io::Write::write_fmt::h56af08ec60343535
   3:        0x10723d6aa - std::sys_common::backtrace::print::h4d81fafe758cf4b8
   4:        0x1072408a5 - std::panicking::default_hook::{{closure}}::h120f229f25c70a74
   5:        0x1072406af - std::panicking::default_hook::hceec3dccba707793
   6:        0x10bd8b90e - rustc_driver_impl[b0a33fcb345deabb]::install_ice_hook::{closure#0}
   7:        0x107240f7a - std::panicking::rust_panic_with_hook::h6683bf919d2bf510
   8:        0x107240d23 - std::panicking::begin_panic_handler::{{closure}}::h9ad2a0e8640ca3c3
   9:        0x10723dcb9 - std::sys_common::backtrace::__rust_end_short_backtrace::h1aa11996f1542333
  10:        0x107240a5d - _rust_begin_unwind
  11:        0x1072c2f43 - core::panicking::panic_fmt::hb305629a540f8ae6
  12:        0x10d03ee37 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::DefaultCache<rustc_middle[619b5416d9fb41c7]::infer::canonical::Canonical<rustc_middle[619b5416d9fb41c7]::ty::ParamEnvAnd<rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty>>>, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  13:        0x10d0e6eb3 - rustc_query_impl[44817c808e40fa01]::query_impl::type_op_normalize_ty::get_query_incr::__rust_end_short_backtrace
  14:        0x10d6eaed8 - <rustc_middle[619b5416d9fb41c7]::ty::Ty as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::normalize::Normalizable>::type_op_method
  15:        0x10b6f922b - <rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty> as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::QueryTypeOp>::fully_perform_into
  16:        0x10b6cb485 - <rustc_middle[619b5416d9fb41c7]::ty::ParamEnvAnd<rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty>> as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::TypeOp>::fully_perform
  17:        0x10b86118a - rustc_borrowck[58f75c9e0c4bffe4]::type_check::free_region_relations::create
  18:        0x10b68c903 - rustc_borrowck[58f75c9e0c4bffe4]::type_check::type_check
  19:        0x10b7814dd - rustc_borrowck[58f75c9e0c4bffe4]::nll::compute_regions
  20:        0x10b67bd83 - rustc_borrowck[58f75c9e0c4bffe4]::do_mir_borrowck
  21:        0x10b66baeb - rustc_borrowck[58f75c9e0c4bffe4]::mir_borrowck
  22:        0x10d21150f - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>
  23:        0x10d0c617c - <rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId)>>::call_once
  24:        0x10d098d03 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::VecCache<rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  25:        0x10d2c289c - rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  26:        0x10b694973 - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::prove_closure_bounds
  27:        0x10b69aa39 - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::check_rvalue
  28:        0x10b69ee5e - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::typeck_mir
  29:        0x10b68d310 - rustc_borrowck[58f75c9e0c4bffe4]::type_check::type_check
  30:        0x10b7814dd - rustc_borrowck[58f75c9e0c4bffe4]::nll::compute_regions
  31:        0x10b67bd83 - rustc_borrowck[58f75c9e0c4bffe4]::do_mir_borrowck
  32:        0x10b66baeb - rustc_borrowck[58f75c9e0c4bffe4]::mir_borrowck
  33:        0x10d21150f - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>
  34:        0x10d0c617c - <rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId)>>::call_once
  35:        0x10d098d03 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::VecCache<rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  36:        0x10d2c289c - rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  37:        0x10c4fc951 - <core[d181726f02f286d3]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[a43127f108c0cd53]::sync::par_for_each_in<&[rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId], <rustc_middle[619b5416d9fb41c7]::hir::map::Map>::par_body_owners<rustc_interface[153cc01410787943]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}> as core[d181726f02f286d3]::ops::function::FnOnce<()>>::call_once
  38:        0x10c50b8db - rustc_data_structures[a43127f108c0cd53]::sync::par_for_each_in::<&[rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId], <rustc_middle[619b5416d9fb41c7]::hir::map::Map>::par_body_owners<rustc_interface[153cc01410787943]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>
  39:        0x10c588f0c - rustc_interface[153cc01410787943]::passes::analysis
  40:        0x10d215a2d - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 1usize]>>
  41:        0x10d12ff99 - <rustc_query_impl[44817c808e40fa01]::query_impl::analysis::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, ())>>::call_once
  42:        0x10d021bf5 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::SingleCache<rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  43:        0x10d0cfc6d - rustc_query_impl[44817c808e40fa01]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  44:        0x10bd40e41 - <rustc_interface[153cc01410787943]::queries::QueryResult<&rustc_middle[619b5416d9fb41c7]::ty::context::GlobalCtxt>>::enter::<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}::{closure#2}::{closure#4}>
  45:        0x10bd8d439 - <rustc_interface[153cc01410787943]::interface::Compiler>::enter::<rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}::{closure#2}, core[d181726f02f286d3]::result::Result<core[d181726f02f286d3]::option::Option<rustc_interface[153cc01410787943]::queries::Linker>, rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  46:        0x10bd2e86c - rustc_span[a06cecf2dd6fcb81]::set_source_map::<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  47:        0x10bd3a92b - <scoped_tls[51ba972602544689]::ScopedKey<rustc_span[a06cecf2dd6fcb81]::SessionGlobals>>::set::<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  48:        0x10bd339a0 - std[4aa87c9024c991bb]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[153cc01410787943]::util::run_in_thread_pool_with_globals<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  49:        0x10bd2bee9 - <<std[4aa87c9024c991bb]::thread::Builder>::spawn_unchecked_<rustc_interface[153cc01410787943]::util::run_in_thread_pool_with_globals<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#1} as core[d181726f02f286d3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  50:        0x10724a8d9 - std::sys::unix::thread::Thread::new::thread_start::h7feade9417ac5384
  51:     0x7fff728052eb - __pthread_body
  52:     0x7fff72808249 - __pthread_start

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.71.0 (8ede3aae2 2023-07-12) running on x86_64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [type_op_normalize_ty] normalizing `[async block@i<elided>:218:5: 219:23]`
#1 [mir_borrowck] borrow-checking `collection::collection::<impl at <elided>:60:1: 60:42>::user_can_read::{closure#0}`
#2 [mir_borrowck] borrow-checking `collection::collection::<impl at <elided>:60:1: 60:42>::user_can_read`
#3 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 2, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 3, kind: BrAnon(None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(None) })), []), Binder(TraitPredicate(<S as store::Store>, polarity:Positive), []), Binder(TraitPredicate(<S as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<S as std::marker::Sized>, polarity:Positive), []), Binder(OutlivesPredicate(S, ReLateBound(DebruijnIndex(1), BoundRegion { var: 4, kind: BrAnon(None) })), [])], reveal: UserFacing, constness: NotConst }, value: Normalize { value: [async block@i<elided>:353:5: 353:23] } }, max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }] }
- dep-node: type_op_normalize_ty(46777471a9cf4c41-d263590bbaa34c69)', /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/compiler/rustc_query_system/src/dep_graph/graph.rs:350:9
stack backtrace:
   0:        0x10723d8b3 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h9da7574d41a27793
   1:        0x107297cab - core::fmt::write::h30e9018632f2aef2
   2:        0x107232ad8 - std::io::Write::write_fmt::h56af08ec60343535
   3:        0x10723d6aa - std::sys_common::backtrace::print::h4d81fafe758cf4b8
   4:        0x1072408a5 - std::panicking::default_hook::{{closure}}::h120f229f25c70a74
   5:        0x1072406af - std::panicking::default_hook::hceec3dccba707793
   6:        0x10bd8b90e - rustc_driver_impl[b0a33fcb345deabb]::install_ice_hook::{closure#0}
   7:        0x107240f7a - std::panicking::rust_panic_with_hook::h6683bf919d2bf510
   8:        0x107240d23 - std::panicking::begin_panic_handler::{{closure}}::h9ad2a0e8640ca3c3
   9:        0x10723dcb9 - std::sys_common::backtrace::__rust_end_short_backtrace::h1aa11996f1542333
  10:        0x107240a5d - _rust_begin_unwind
  11:        0x1072c2f43 - core::panicking::panic_fmt::hb305629a540f8ae6
  12:        0x10d03ee37 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::DefaultCache<rustc_middle[619b5416d9fb41c7]::infer::canonical::Canonical<rustc_middle[619b5416d9fb41c7]::ty::ParamEnvAnd<rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty>>>, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  13:        0x10d0e6eb3 - rustc_query_impl[44817c808e40fa01]::query_impl::type_op_normalize_ty::get_query_incr::__rust_end_short_backtrace
  14:        0x10d6eaed8 - <rustc_middle[619b5416d9fb41c7]::ty::Ty as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::normalize::Normalizable>::type_op_method
  15:        0x10b6f922b - <rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty> as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::QueryTypeOp>::fully_perform_into
  16:        0x10b6cb485 - <rustc_middle[619b5416d9fb41c7]::ty::ParamEnvAnd<rustc_middle[619b5416d9fb41c7]::traits::query::type_op::Normalize<rustc_middle[619b5416d9fb41c7]::ty::Ty>> as rustc_trait_selection[c574993374c7affd]::traits::query::type_op::TypeOp>::fully_perform
  17:        0x10b86118a - rustc_borrowck[58f75c9e0c4bffe4]::type_check::free_region_relations::create
  18:        0x10b68c903 - rustc_borrowck[58f75c9e0c4bffe4]::type_check::type_check
  19:        0x10b7814dd - rustc_borrowck[58f75c9e0c4bffe4]::nll::compute_regions
  20:        0x10b67bd83 - rustc_borrowck[58f75c9e0c4bffe4]::do_mir_borrowck
  21:        0x10b66baeb - rustc_borrowck[58f75c9e0c4bffe4]::mir_borrowck
  22:        0x10d21150f - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>
  23:        0x10d0c617c - <rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId)>>::call_once
  24:        0x10d098d03 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::VecCache<rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  25:        0x10d2c289c - rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  26:        0x10b694973 - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::prove_closure_bounds
  27:        0x10b69aa39 - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::check_rvalue
  28:        0x10b69ee5e - <rustc_borrowck[58f75c9e0c4bffe4]::type_check::TypeChecker>::typeck_mir
  29:        0x10b68d310 - rustc_borrowck[58f75c9e0c4bffe4]::type_check::type_check
  30:        0x10b7814dd - rustc_borrowck[58f75c9e0c4bffe4]::nll::compute_regions
  31:        0x10b67bd83 - rustc_borrowck[58f75c9e0c4bffe4]::do_mir_borrowck
  32:        0x10b66baeb - rustc_borrowck[58f75c9e0c4bffe4]::mir_borrowck
  33:        0x10d21150f - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>
  34:        0x10d0c617c - <rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId)>>::call_once
  35:        0x10d098d03 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::VecCache<rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  36:        0x10d2c289c - rustc_query_impl[44817c808e40fa01]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  37:        0x10c4fc951 - <core[d181726f02f286d3]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[a43127f108c0cd53]::sync::par_for_each_in<&[rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId], <rustc_middle[619b5416d9fb41c7]::hir::map::Map>::par_body_owners<rustc_interface[153cc01410787943]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}> as core[d181726f02f286d3]::ops::function::FnOnce<()>>::call_once
  38:        0x10c50b8db - rustc_data_structures[a43127f108c0cd53]::sync::par_for_each_in::<&[rustc_span[a06cecf2dd6fcb81]::def_id::LocalDefId], <rustc_middle[619b5416d9fb41c7]::hir::map::Map>::par_body_owners<rustc_interface[153cc01410787943]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>
  39:        0x10c588f0c - rustc_interface[153cc01410787943]::passes::analysis
  40:        0x10d215a2d - rustc_query_impl[44817c808e40fa01]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[44817c808e40fa01]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 1usize]>>
  41:        0x10d12ff99 - <rustc_query_impl[44817c808e40fa01]::query_impl::analysis::dynamic_query::{closure#2} as core[d181726f02f286d3]::ops::function::FnOnce<(rustc_middle[619b5416d9fb41c7]::ty::context::TyCtxt, ())>>::call_once
  42:        0x10d021bf5 - rustc_query_system[214def0a3abd319f]::query::plumbing::try_execute_query::<rustc_query_impl[44817c808e40fa01]::DynamicConfig<rustc_query_system[214def0a3abd319f]::query::caches::SingleCache<rustc_middle[619b5416d9fb41c7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[44817c808e40fa01]::plumbing::QueryCtxt, true>
  43:        0x10d0cfc6d - rustc_query_impl[44817c808e40fa01]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  44:        0x10bd40e41 - <rustc_interface[153cc01410787943]::queries::QueryResult<&rustc_middle[619b5416d9fb41c7]::ty::context::GlobalCtxt>>::enter::<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}::{closure#2}::{closure#4}>
  45:        0x10bd8d439 - <rustc_interface[153cc01410787943]::interface::Compiler>::enter::<rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}::{closure#2}, core[d181726f02f286d3]::result::Result<core[d181726f02f286d3]::option::Option<rustc_interface[153cc01410787943]::queries::Linker>, rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  46:        0x10bd2e86c - rustc_span[a06cecf2dd6fcb81]::set_source_map::<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  47:        0x10bd3a92b - <scoped_tls[51ba972602544689]::ScopedKey<rustc_span[a06cecf2dd6fcb81]::SessionGlobals>>::set::<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  48:        0x10bd339a0 - std[4aa87c9024c991bb]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[153cc01410787943]::util::run_in_thread_pool_with_globals<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>
  49:        0x10bd2bee9 - <<std[4aa87c9024c991bb]::thread::Builder>::spawn_unchecked_<rustc_interface[153cc01410787943]::util::run_in_thread_pool_with_globals<rustc_interface[153cc01410787943]::interface::run_compiler<core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>, rustc_driver_impl[b0a33fcb345deabb]::run_compiler::{closure#1}>::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d181726f02f286d3]::result::Result<(), rustc_span[a06cecf2dd6fcb81]::ErrorGuaranteed>>::{closure#1} as core[d181726f02f286d3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  50:        0x10724a8d9 - std::sys::unix::thread::Thread::new::thread_start::h7feade9417ac5384
  51:     0x7fff728052eb - __pthread_body
  52:     0x7fff72808249 - __pthread_start

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.71.0 (8ede3aae2 2023-07-12) running on x86_64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [type_op_normalize_ty] normalizing `[async block@<elided>:353:5: 353:23]`
#1 [mir_borrowck] borrow-checking `collection::collection::<impl at <elided>:60:1: 60:42>::check_delegate_value::{closure#0}`
#2 [mir_borrowck] borrow-checking `collection::collection::<impl at <elided>:60:1: 60:42>::check_delegate_value`
#3 [analysis] running analysis passes on this crate
end of query stack

```

<!--
Include a backtrace in the code block by setting `RUST_BACKTRACE=1` in your
environment. E.g. `RUST_BACKTRACE=1 cargo build`.
-->
<details><summary><strong>Backtrace</strong></summary>
<p>

```
<backtrace>
```

</p>
</details>