Repository: rust
Issue: Compiler error while compiling iroh
Labels: I-ICE,T-compiler,A-incr-comp,C-bug,S-needs-repro

<!--
Thank you for finding an Internal Compiler Error! 🧊  If possible, try to provide
a minimal verifiable example. You can read "Rust Bug Minimization Patterns" for
how to create smaller examples.
http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/
-->

### Code

Sorry, no tiny reproducer yet. Here is the commit where this happens:

https://github.com/n0-computer/iroh/commit/978587aef29e9465f3eb0deb1dc9153c9f0253bd

### Meta
<!--
If you're using the stable version of the compiler, you should also check if the
bug also exists in the beta or nightly versions.
-->

`rustc --version --verbose`:
```
❯ rustc --version --verbose
rustc 1.78.0 (9b00956e5 2024-04-29)
binary: rustc
commit-hash: 9b00956e56009bab2aa15d7bff10916599e3d6d6
commit-date: 2024-04-29
host: aarch64-apple-darwin
release: 1.78.0
LLVM version: 18.1.2
```

### Error output

```
❯ cargo test
   Compiling iroh-net v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-net)
   Compiling iroh-blobs v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-blobs)
   Compiling iroh-gossip v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-gossip)
   Compiling iroh-docs v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-docs)
   Compiling iroh-net-bench v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-net/bench)
   Compiling iroh-dns-server v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-dns-server)
   Compiling iroh v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh)
   Compiling iroh-cli v0.17.0 (/Users/rklaehn/projects_git/iroh/iroh-cli)
thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:        0x102d0aedc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h01b2beffade888b2
   1:        0x102d4ee44 - core::fmt::write::hbadb443a71b75f23
   2:        0x102d01530 - std::io::Write::write_fmt::hc09d7755e3ead5f0
   3:        0x102d0ad34 - std::sys_common::backtrace::print::h28349e5c25acbac7
   4:        0x102d0d640 - std::panicking::default_hook::{{closure}}::hd24b6196784d991e
   5:        0x102d0d324 - std::panicking::default_hook::hfcec80a2720c8c73
   6:        0x10c00d30c - <alloc[ccf9bc335c0c6a37]::boxed::Box<rustc_driver_impl[e71547a46cb79a13]::install_ice_hook::{closure#0}> as core[f61c09f58d048be3]::ops::function::Fn<(&dyn for<'a, 'b> core[f61c09f58d048be3]::ops::function::Fn<(&'a core[f61c09f58d048be3]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[f61c09f58d048be3]::marker::Send + core[f61c09f58d048be3]::marker::Sync, &core[f61c09f58d048be3]::panic::panic_info::PanicInfo)>>::call
   7:        0x102d0e074 - std::panicking::rust_panic_with_hook::h84760468187ddc85
   8:        0x102d0da0c - std::panicking::begin_panic_handler::{{closure}}::he666a5eb600a7203
   9:        0x102d0b360 - std::sys_common::backtrace::__rust_end_short_backtrace::h592f44d2bf9f843f
  10:        0x102d0d7b0 - _rust_begin_unwind
  11:        0x102d6807c - core::panicking::panic_fmt::h98bbf7bdf4994454
  12:        0x102d68104 - core::panicking::panic::hc59c8a709a9b37ae
  13:        0x102d6802c - core::option::unwrap_failed::h64934fbe08d33633
  14:        0x10c9088d4 - <rustc_metadata[12a165695e6b884a]::creader::CStore as rustc_session[79a27a126569eded]::cstore::CrateStore>::def_path_hash_to_def_id
  15:        0x10c9ace40 - <rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt>::def_path_hash_to_def_id
  16:        0x10d1a9644 - <rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::query_callback<rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::type_of::QueryType>::{closure#0} as core[f61c09f58d048be3]::ops::function::FnOnce<(rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_query_system[4a271ab9f88cfcb9]::dep_graph::dep_node::DepNode)>>::call_once
  17:        0x10d2ffd30 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  18:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  19:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  20:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  21:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  22:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  23:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  24:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  25:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  26:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  27:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  28:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  29:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  30:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  31:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  32:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  33:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  34:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  35:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  36:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  37:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  38:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  39:        0x10d2ffd74 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  40:        0x10d2ffb04 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  41:        0x10d154160 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::try_execute_query::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::DefaultCache<rustc_type_ir[76b0556fc40a40d5]::canonical::Canonical<rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::ty::predicate::Predicate>>, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt, true>
  42:        0x10d2ceb20 - rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::evaluate_obligation::get_query_incr::__rust_end_short_backtrace
  43:        0x10d790d80 - <rustc_infer[545da5636502b677]::infer::InferCtxt as rustc_trait_selection[cc7af85bf39bc7b2]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
  44:        0x10d791040 - <rustc_infer[545da5636502b677]::infer::InferCtxt as rustc_trait_selection[cc7af85bf39bc7b2]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
  45:        0x10d7cf520 - <rustc_trait_selection[cc7af85bf39bc7b2]::traits::fulfill::FulfillProcessor>::process_trait_obligation
  46:        0x10d7ceb9c - <rustc_trait_selection[cc7af85bf39bc7b2]::traits::fulfill::FulfillProcessor as rustc_data_structures[ff694425d12ac56b]::obligation_forest::ObligationProcessor>::process_obligation
  47:        0x10d7b8e04 - <rustc_data_structures[ff694425d12ac56b]::obligation_forest::ObligationForest<rustc_trait_selection[cc7af85bf39bc7b2]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[cc7af85bf39bc7b2]::traits::fulfill::FulfillProcessor>
  48:        0x10d7cb320 - <rustc_trait_selection[cc7af85bf39bc7b2]::traits::fulfill::FulfillmentContext as rustc_infer[545da5636502b677]::traits::engine::TraitEngine>::select_where_possible
  49:        0x10d866ff0 - <rustc_infer[545da5636502b677]::infer::InferCtxt>::make_canonicalized_query_response::<()>
  50:        0x10d86ae7c - <rustc_infer[545da5636502b677]::infer::InferCtxtBuilder as rustc_trait_selection[cc7af85bf39bc7b2]::infer::InferCtxtBuilderExt>::enter_canonical_trait_query::<rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate>, (), rustc_traits[a3520baa979299ff]::type_op::type_op_prove_predicate::{closure#0}>
  51:        0x10d8728e4 - rustc_traits[a3520baa979299ff]::type_op::type_op_prove_predicate
  52:        0x10d1d6cd8 - rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::type_op_prove_predicate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 8usize]>>
  53:        0x10d24f3dc - <rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::type_op_prove_predicate::dynamic_query::{closure#2} as core[f61c09f58d048be3]::ops::function::FnOnce<(rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_type_ir[76b0556fc40a40d5]::canonical::Canonical<rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate>>)>>::call_once
  54:        0x10d155738 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::try_execute_query::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::DefaultCache<rustc_type_ir[76b0556fc40a40d5]::canonical::Canonical<rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate>>, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt, true>
  55:        0x10d2cf60c - rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::type_op_prove_predicate::get_query_incr::__rust_end_short_backtrace
  56:        0x10d859014 - <rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate as rustc_trait_selection[cc7af85bf39bc7b2]::traits::query::type_op::QueryTypeOp>::perform_query
  57:        0x10bab0de0 - <rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate as rustc_trait_selection[cc7af85bf39bc7b2]::traits::query::type_op::QueryTypeOp>::fully_perform_into
  58:        0x10b9fba54 - <rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate> as rustc_trait_selection[cc7af85bf39bc7b2]::traits::query::type_op::TypeOp>::fully_perform
  59:        0x10bae58a0 - <rustc_borrowck[a6ba943a27c8973a]::type_check::TypeChecker>::fully_perform_op::<(), rustc_middle[7d6fe3bd18d758b7]::ty::ParamEnvAnd<rustc_middle[7d6fe3bd18d758b7]::traits::query::type_op::ProvePredicate>>
  60:        0x10bae697c - <rustc_borrowck[a6ba943a27c8973a]::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates
  61:        0x10bae05b4 - <rustc_borrowck[a6ba943a27c8973a]::type_check::TypeVerifier as rustc_middle[7d6fe3bd18d758b7]::mir::visit::Visitor>::visit_constant
  62:        0x10bae15bc - <rustc_borrowck[a6ba943a27c8973a]::type_check::TypeVerifier as rustc_middle[7d6fe3bd18d758b7]::mir::visit::Visitor>::visit_body
  63:        0x10badcbe4 - rustc_borrowck[a6ba943a27c8973a]::type_check::type_check
  64:        0x10ba847e8 - rustc_borrowck[a6ba943a27c8973a]::nll::compute_regions
  65:        0x10b9d5b9c - rustc_borrowck[a6ba943a27c8973a]::do_mir_borrowck
  66:        0x10b9cd424 - rustc_borrowck[a6ba943a27c8973a]::mir_borrowck
  67:        0x10d1d3620 - rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 8usize]>>
  68:        0x10d24d4b4 - <rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[f61c09f58d048be3]::ops::function::FnOnce<(rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_span[8def9120bc3fdd6f]::def_id::LocalDefId)>>::call_once
  69:        0x10d188a88 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::try_execute_query::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::VecCache<rustc_span[8def9120bc3fdd6f]::def_id::LocalDefId, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt, true>
  70:        0x10d12c0e8 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::force_query::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::VecCache<rustc_span[8def9120bc3fdd6f]::def_id::LocalDefId, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  71:        0x10d197538 - <rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::query_callback<rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::mir_borrowck::QueryType>::{closure#0} as core[f61c09f58d048be3]::ops::function::FnOnce<(rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, rustc_query_system[4a271ab9f88cfcb9]::dep_graph::dep_node::DepNode)>>::call_once
  72:        0x10d2ffd30 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  73:        0x10d2ffb04 - <rustc_query_system[4a271ab9f88cfcb9]::dep_graph::graph::DepGraphData<rustc_middle[7d6fe3bd18d758b7]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  74:        0x10d12e518 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::ensure_must_run::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::VecCache<rustc_hir[6794cf9dde2b2a42]::hir_id::OwnerId, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt>
  75:        0x10d2b6730 - rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  76:        0x10c774450 - std[73ec08d302f978e7]::panicking::try::<(), core[f61c09f58d048be3]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[ff694425d12ac56b]::sync::parallel::disabled::par_for_each_in<&[rustc_span[8def9120bc3fdd6f]::def_id::LocalDefId], <rustc_middle[7d6fe3bd18d758b7]::hir::map::Map>::par_body_owners<rustc_interface[2352a4bab4f6367d]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  77:        0x10c7289f8 - rustc_data_structures[ff694425d12ac56b]::sync::parallel::disabled::par_for_each_in::<&[rustc_span[8def9120bc3fdd6f]::def_id::LocalDefId], <rustc_middle[7d6fe3bd18d758b7]::hir::map::Map>::par_body_owners<rustc_interface[2352a4bab4f6367d]::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>
  78:        0x10c772448 - <rustc_session[79a27a126569eded]::session::Session>::time::<(), rustc_interface[2352a4bab4f6367d]::passes::analysis::{closure#1}>
  79:        0x10c71d4fc - rustc_interface[2352a4bab4f6367d]::passes::analysis
  80:        0x10d1d7dac - rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 1usize]>>
  81:        0x10d2907d0 - <rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::analysis::dynamic_query::{closure#2} as core[f61c09f58d048be3]::ops::function::FnOnce<(rustc_middle[7d6fe3bd18d758b7]::ty::context::TyCtxt, ())>>::call_once
  82:        0x10d1406f8 - rustc_query_system[4a271ab9f88cfcb9]::query::plumbing::try_execute_query::<rustc_query_impl[cc9fd01c5e6afd2e]::DynamicConfig<rustc_query_system[4a271ab9f88cfcb9]::query::caches::SingleCache<rustc_middle[7d6fe3bd18d758b7]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[cc9fd01c5e6afd2e]::plumbing::QueryCtxt, true>
  83:        0x10d2a7bc4 - rustc_query_impl[cc9fd01c5e6afd2e]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  84:        0x10bfd09f0 - <rustc_middle[7d6fe3bd18d758b7]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[e71547a46cb79a13]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>
  85:        0x10bfcfc18 - <rustc_interface[2352a4bab4f6367d]::interface::Compiler>::enter::<rustc_driver_impl[e71547a46cb79a13]::run_compiler::{closure#0}::{closure#1}, core[f61c09f58d048be3]::result::Result<core[f61c09f58d048be3]::option::Option<rustc_interface[2352a4bab4f6367d]::queries::Linker>, rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>
  86:        0x10bfbbe80 - rustc_span[8def9120bc3fdd6f]::create_session_globals_then::<core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>, rustc_interface[2352a4bab4f6367d]::interface::run_compiler<core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>, rustc_driver_impl[e71547a46cb79a13]::run_compiler::{closure#0}>::{closure#0}>
  87:        0x10bfcd82c - std[73ec08d302f978e7]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[2352a4bab4f6367d]::util::run_in_thread_with_globals<rustc_interface[2352a4bab4f6367d]::interface::run_compiler<core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>, rustc_driver_impl[e71547a46cb79a13]::run_compiler::{closure#0}>::{closure#0}, core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>
  88:        0x10bfc4230 - <<std[73ec08d302f978e7]::thread::Builder>::spawn_unchecked_<rustc_interface[2352a4bab4f6367d]::util::run_in_thread_with_globals<rustc_interface[2352a4bab4f6367d]::interface::run_compiler<core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>, rustc_driver_impl[e71547a46cb79a13]::run_compiler::{closure#0}>::{closure#0}, core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f61c09f58d048be3]::result::Result<(), rustc_span[8def9120bc3fdd6f]::ErrorGuaranteed>>::{closure#1} as core[f61c09f58d048be3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  89:        0x102d165a8 - std::sys::pal::unix::thread::Thread::new::thread_start::h9266fbbdd0c3d8be
  90:        0x1980abfa8 - __pthread_joiner_wake

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.78.0 (9b00956e5 2024-04-29) running on aarch64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `{coroutine witness@<quic_rpc::transport::flume::FlumeConnection<iroh::rpc_protocol::RpcService> as quic_rpc::transport::Connection<<iroh::rpc_protocol::RpcService as quic_rpc::Service>::Res, <iroh::rpc_protocol::RpcService as quic_rpc::Service>::Req>>::open_bi::{closure#0}}: core::marker::Send`
#1 [type_op_prove_predicate] evaluating `type_op_prove_predicate` `ProvePredicate { predicate: Binder { value: TraitPredicate(<futures_util::future::future::Map<tracing::instrument::Instrumented<{async block@iroh/tests/sync.rs:937:19: 956:10}>, {closure@iroh/tests/sync.rs:958:27: 958:35}> as core::marker::Send>, polarity:Positive), bound_vars: [] } }`
#2 [mir_borrowck] borrow-checking `sync_big::{closure#0}`
#3 [analysis] running analysis passes on this crate
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 TraitSelect(ab248914fd5edf30-e20bdb749d383ff4)
#1 TraitSelect(63b13faebd9ad9ad-ff1029d22ee6d6a3)
#2 TraitSelect(acb576f4d4368bb5-ccf4325ce39b758f)
#3 TraitSelect(be4a16082f8ad60d-641ddb7ed89d3096)
#4 TraitSelect(83ed25da6a42ba0a-6eb95e94f909340d)
#5 TraitSelect(87427b1cd2450dc-6864bd20fe01ec31)
#6 TraitSelect(6c7800883095189d-1760528c2d6ec2b0)
#7 TraitSelect(27bc0ebc0e70adf1-b44e49bf00af739b)
#8 TraitSelect(9d4950ac6d854763-702a8a9b4593f4eb)
#9 TraitSelect(79c1a14042527d0d-c09dba25527d9548)
#10 TraitSelect(80341e6d89b43e13-15e8ecfe3fa88bf)
#11 TraitSelect(7691cb983bbe5bbd-9b8b2ddfc27c3620)
#12 TraitSelect(cd4d476c887d862-edbb9e620be449e)
#13 TraitSelect(8444e1d78547cb29-a282c8e04862f63d)
#14 TraitSelect(bfab2cf2ba5c9448-24a8ff417af9f909)
#15 TraitSelect(57d1930a6ac1999-9bf0f54228719318)
#16 TraitSelect(5b4c04cbf7fa8371-53aae5a18e422f19)
#17 TraitSelect(f88f107f4061c7d8-65893af4d2fd41a8)
#18 TraitSelect(d2f664b739366d9-b58e0544e300a132)
#19 TraitSelect(7288a52838e104e0-1b7d5dd795828be6)
#20 TraitSelect(dd94d61e4d39e806-38b6eb2f6f12ecc5)
#21 TraitSelect(f0126a63714aca5f-d7a36484fb3a1604)
#22 evaluate_obligation(ba44a1df2bcdc098-247d588835cd5083)
end of try_mark_green dep node stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 mir_borrowck(sync[127e]::sync_big#1)
end of try_mark_green dep node stack
error: could not compile `iroh` (test "sync")
```

<!--
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>