Repository: rust
Issue: rustc panic while trying to force a dep node
Labels: I-ICE,T-compiler,A-incr-comp,C-bug,S-needs-repro

Dear Rust Team

I encountered a rustc compiler panic. Unfortunately, the panic went away, once I `cargo clean`'ed
the workspace. Therefore I am unable to pinpoint to what exactly was causing the panic. Please find below the stack backtrace as well as the error message. Should there be insufficient information to investigate, please feel free to close the issue.
### 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 1.75.0 (82e1608df 2023-12-21)
binary: rustc
commit-hash: 82e1608dfa6e0b5569232559e3d385fea5a93112
commit-date: 2023-12-21
host: x86_64-pc-windows-msvc
release: 1.75.0
LLVM version: 17.0.6
```

### Error output

```
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.75.0 (82e1608df 2023-12-21) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -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@heliotis_vision::actor::ActorHandle<AcquireMessage>::new_with<EmulationCamMessages>::{closure#0}::{closure#0}}: core::marker::Send`
#1 [codegen_select_candidate] computing candidate for `<alloc::sync::Arc<{closure@heliotis_vision::actor::ActorHandle<AcquireMessage>::new_with<EmulationCamMessages>::{closure#0}}> as core::ops::unsize::CoerceUnsized<alloc::sync::Arc<dyn heliotis_vision::actor::ActorSenderFn<AcquireMessage>>>>`
#2 [collect_and_partition_mono_items] collect_and_partition_mono_items
#3 [exported_symbols] collecting exported symbols for crate `0`
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 TraitSelect(4f0495e9b822818c-b0cfbd1606fe82b0)
#1 TraitSelect(8092a8418e40f4c0-de7a38bfe6307c19)
#2 TraitSelect(9c97186291959ce2-a8cea03f8cc351fd)
#3 TraitSelect(2a822c90cff319db-20852c4e6749047c)
#4 TraitSelect(25ddb345e8a85be5-6204419b8ac3a423)
#5 TraitSelect(992633f719ec2769-fc8f175c5d0f8770)
#6 TraitSelect(4643a4a054704a2d-d6d6612cf302c483)
#7 TraitSelect(be197fe7074527b2-7ba5c9a80ede8014)
#8 evaluate_obligation(dfc8d0433e4b2b8d-a640c71bbb24aa04)
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 exported_symbols(heliotis_emulation_camera[b376])
end of try_mark_green dep node stack
```


<details><summary><strong>Backtrace</strong></summary>
<p>

```
thread 'rustc' panicked at compiler\rustc_metadata\src\rmeta\def_path_hash_map.rs:22:85:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x7ffcc2863053 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h99d8f55dc77ea58e
   1:     0x7ffcc2895a3d - core::fmt::write::hde05c98aa8466c89
   2:     0x7ffcc2859951 - <std::io::IoSlice as core::fmt::Debug>::fmt::hfbd96d963048182d
   3:     0x7ffcc2862e5a - std::sys_common::backtrace::lock::h19b13d03fb733c4f
   4:     0x7ffcc2866329 - std::panicking::default_hook::h809e3ce877795dde
   5:     0x7ffcc2865feb - std::panicking::default_hook::h809e3ce877795dde
   6:     0x7ffc75cef522 - <tracing_subscriber[6409740a17f48d06]::fmt::format::Writer>::write_fmt
   7:     0x7ffcc2866903 - std::panicking::rust_panic_with_hook::hac29101b109c3744
   8:     0x7ffcc286676b - <std::panicking::begin_panic_handler::StaticStrPayload as core::panic::PanicPayload>::take_box::h1529e0c3d6e161ce
   9:     0x7ffcc2863949 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h99d8f55dc77ea58e
  10:     0x7ffcc28664b4 - rust_begin_unwind
  11:     0x7ffcc28bae57 - core::panicking::panic_fmt::ha2a0d31008962eb7
  12:     0x7ffcc28baf12 - core::panicking::panic::h5c1fb882612266eb
  13:     0x7ffc759187d5 - <rustc_metadata[6fc6b9891f8c7c53]::creader::CStore as rustc_session[4730c59bb5fdbad]::cstore::CrateStore>::def_path_hash_to_def_id
  14:     0x7ffc75b9729f - <rustc_query_system[924d71a2b3348c3f]::dep_graph::dep_node::DepNode as rustc_middle[adf162ff1c7ec31e]::dep_graph::dep_node::DepNodeExt>::extract_def_id  15:     0x7ffc7490739c - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  16:     0x7ffc7563f210 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  17:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  18:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  19:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  20:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  21:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  22:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  23:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  24:     0x7ffc7563f1a8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  25:     0x7ffc756b016f - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  26:     0x7ffc75697588 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  27:     0x7ffc75812a04 - <rustc_trait_selection[4ce98de85cfb96d5]::traits::fulfill::FulfillProcessor as rustc_data_structures[58befe5dac462ea8]::obligation_forest::ObligationProcessor>::process_obligation
  28:     0x7ffc7577ba10 - <rustc_infer[e29847cddd3618c]::infer::InferCtxt as rustc_trait_selection[4ce98de85cfb96d5]::traits::outlives_bounds::InferCtxtExt>::implied_outlives_bounds
  29:     0x7ffc757f6142 - <rustc_trait_selection[4ce98de85cfb96d5]::traits::fulfill::FulfillmentContext as rustc_infer[e29847cddd3618c]::traits::engine::TraitEngine>::select_where_possible
  30:     0x7ffc755c47f0 - rustc_traits[18d67eec7ae4404]::codegen::codegen_select_candidate
  31:     0x7ffc75631635 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  32:     0x7ffc75669186 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  33:     0x7ffc749cb85e - <dyn std[74a508f002f6a59]::io::Write as nu_ansi_term[ac226f641100c910]::write::AnyWrite>::write_str
  34:     0x7ffc7494d836 - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  35:     0x7ffc756e84a9 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  36:     0x7ffc756931e1 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  37:     0x7ffc746eed3f - <rustc_hir_analysis[9da19c1a75884dcd]::check::wfcheck::check_where_clauses::{closure#2}::CountParams as rustc_type_ir[f40b78b38e38a0cb]::visit::TypeVisitor<rustc_middle[adf162ff1c7ec31e]::ty::context::TyCtxt>>::visit_const
  38:     0x7ffc7501b449 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  39:     0x7ffc75023331 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_constant
  40:     0x7ffc7501e057 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  41:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  42:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  43:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  44:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  45:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  46:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  47:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  48:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  49:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  50:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  51:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  52:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  53:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  54:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  55:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  56:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  57:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  58:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  59:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  60:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  61:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  62:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  63:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  64:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  65:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  66:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  67:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  68:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  69:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  70:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  71:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  72:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  73:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  74:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  75:     0x7ffc7501f3d8 - <rustc_monomorphize[982eb4c190230dca]::collector::MirUsedCollector as rustc_middle[adf162ff1c7ec31e]::mir::visit::Visitor>::visit_operand
  76:     0x7ffc746f1dc8 - <rustc_hir_analysis[9da19c1a75884dcd]::check::wfcheck::check_where_clauses::{closure#2}::CountParams as rustc_type_ir[f40b78b38e38a0cb]::visit::TypeVisitor<rustc_middle[adf162ff1c7ec31e]::ty::context::TyCtxt>>::visit_const
  77:     0x7ffc746efb34 - <rustc_hir_analysis[9da19c1a75884dcd]::check::wfcheck::check_where_clauses::{closure#2}::CountParams as rustc_type_ir[f40b78b38e38a0cb]::visit::TypeVisitor<rustc_middle[adf162ff1c7ec31e]::ty::context::TyCtxt>>::visit_const
  78:     0x7ffc746ef88a - <rustc_hir_analysis[9da19c1a75884dcd]::check::wfcheck::check_where_clauses::{closure#2}::CountParams as rustc_type_ir[f40b78b38e38a0cb]::visit::TypeVisitor<rustc_middle[adf162ff1c7ec31e]::ty::context::TyCtxt>>::visit_const
  79:     0x7ffc746f1798 - <rustc_hir_analysis[9da19c1a75884dcd]::check::wfcheck::check_where_clauses::{closure#2}::CountParams as rustc_type_ir[f40b78b38e38a0cb]::visit::TypeVisitor<rustc_middle[adf162ff1c7ec31e]::ty::context::TyCtxt>>::visit_const
  80:     0x7ffc7501753e - rustc_monomorphize[982eb4c190230dca]::partitioning::collect_and_partition_mono_items
  81:     0x7ffc7491533a - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  82:     0x7ffc7494a5cd - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  83:     0x7ffc749cb6cc - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  84:     0x7ffc7494cbc4 - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  85:     0x7ffc7497d2ce - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  86:     0x7ffc7689b9e8 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::depth_limit_error
  87:     0x7ffc767bd5cf - <rustc_span[3e977bbabadee1a5]::def_id::DefIndex as rustc_query_impl[70f5d3af722ab40a]::profiling_support::SpecIntoSelfProfilingString>::spec_to_self_profile_string
  88:     0x7ffc7563f210 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  89:     0x7ffc7563eef4 - <rustc_query_impl[70f5d3af722ab40a]::plumbing::QueryCtxt as rustc_query_system[924d71a2b3348c3f]::query::QueryContext>::load_side_effects
  90:     0x7ffc749c29f0 - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  91:     0x7ffc7496f006 - rustc_query_impl[70f5d3af722ab40a]::profiling_support::alloc_self_profile_query_strings
  92:     0x7ffc75929fbe - <rustc_metadata[6fc6b9891f8c7c53]::creader::CStore>::from_tcx
  93:     0x7ffc74b1106c - rustc_metadata[6fc6b9891f8c7c53]::rmeta::encoder::encode_metadata
  94:     0x7ffc74afd91b - <rustc_metadata[6fc6b9891f8c7c53]::rmeta::LazyTables as rustc_serialize[865eee8fdfaeb5da]::serialize::Decodable<rustc_metadata[6fc6b9891f8c7c53]::rmeta::decoder::DecodeContext>>::decode
  95:     0x7ffc74b1000c - rustc_metadata[6fc6b9891f8c7c53]::rmeta::encoder::encode_metadata
  96:     0x7ffc74b0cbd8 - rustc_metadata[6fc6b9891f8c7c53]::fs::encode_and_write_metadata
  97:     0x7ffc71ee70c0 - rustc_interface[845e99c2fcb4bb36]::passes::start_codegen
  98:     0x7ffc71edb608 - <rustc_interface[845e99c2fcb4bb36]::queries::Linker>::link
  99:     0x7ffc71ed7f05 - <rustc_interface[845e99c2fcb4bb36]::queries::Queries>::ongoing_codegen
 100:     0x7ffc71e9d666 - rustc_driver_impl[b4ac4ed7e8bb44fd]::args::arg_expand_all
 101:     0x7ffc71e8f4bb - rustc_driver_impl[b4ac4ed7e8bb44fd]::args::arg_expand_all
 102:     0x7ffc71e9f101 - rustc_driver_impl[b4ac4ed7e8bb44fd]::args::arg_expand_all
 103:     0x7ffc71e9a6df - rustc_driver_impl[b4ac4ed7e8bb44fd]::args::arg_expand_all
 104:     0x7ffc71e92861 - rustc_driver_impl[b4ac4ed7e8bb44fd]::args::arg_expand_all
 105:     0x7ffcc2878b6c - std::sys::windows::thread::Thread::new::h7b3ce3a09b163019
 106:     0x7ffd63ab7344 - BaseThreadInitThunk
 107:     0x7ffd658026b1 - RtlUserThreadStart
```

</p>
</details>