Repository: rust
Issue: ICE: called `Option::unwrap()` on a `None` value
Labels: I-ICE,T-compiler,A-incr-comp,C-bug

<!--
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/
-->

I hit a panic while compiling and the output asked me to create a bug report. I'm compiling company-owned source code so can't provide that, but I'm ok to provide all the output that happened on the command line. I hope that's enough to make rust better somehow.

### Description of steps

* I made a change in our source code by running `diesel migration run`. 
* Then I wanted to recompile the project so I issued `cargo build` and saw the issue described below under "Error output"
* It's easy to reproduce by repeating `cargo build`
* Next I ran `cargo clean` (`Removed 89831 files, 85.1GiB total`)
* After that, `RUST_BACKTRACE=1 cargo build` succeeded

So this was a transitory thing, and isn't a problem for me, but I thought I'd report in the interests of gathering data.

### Code

(can't provide, sorry)


### 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.76.0 (07dca489a 2024-02-04) (built from a source tarball)
binary: rustc
commit-hash: 07dca489ac2d933c78d3c5158e3f43beefeb02ce
commit-date: 2024-02-04
host: aarch64-apple-darwin
release: 1.76.0
LLVM version: 17.0.6
```

### Error output

```
>$ cargo build
   Compiling spore-db-impl v0.1.0 (/Users/richard.morrison/src/mushroom/services/spore/spore-db-impl)
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:        0x1051d2fd4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h61949099c17bb561
   1:        0x10521e2a0 - core::fmt::write::he0c0819610fe7c82
   2:        0x1051ad2dc - std::io::Write::write_fmt::h14dadda6958822c3
   3:        0x1051d2e28 - std::sys_common::backtrace::print::h10166cbeffac9d38
   4:        0x1051d422c - std::panicking::default_hook::{{closure}}::hfec7fca779e11f3b
   5:        0x1051d3fac - std::panicking::default_hook::h26402d2c6670ffd0
   6:        0x108fdbcdc - std[d0251ff5e400585e]::panicking::update_hook::<alloc[6ce8990e7c5dc05d]::boxed::Box<rustc_driver_impl[8e5d690fd0be477f]::install_ice_hook::{closure#0}>>::{closure#0}
   7:        0x1051d494c - std::panicking::rust_panic_with_hook::hb00dd38969b5a277
   8:        0x1051d462c - std::panicking::begin_panic_handler::{{closure}}::hc86edf66ba485638
   9:        0x1051d3208 - std::sys_common::backtrace::__rust_end_short_backtrace::h24f57ebe971b5eac
  10:        0x1051d43e0 - _rust_begin_unwind
  11:        0x10522f3a8 - core::panicking::panic_fmt::h21b3a72f47844886
  12:        0x10522f430 - core::panicking::panic::h3d30c5c3383a127c
  13:        0x10a87bf14 - <rustc_metadata[d3c152f6fd3e93a5]::creader::CStore as rustc_session[4d4998990e438cd6]::cstore::CrateStore>::def_path_hash_to_def_id
  14:        0x10adc2278 - <rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt>::def_path_hash_to_def_id
  15:        0x10ad97d5c - <rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode as rustc_middle[e36d7eaa836056c9]::dep_graph::dep_node::DepNodeExt>::extract_def_id
  16:        0x10a1c9e5c - <rustc_query_impl[8a469421e04f2617]::plumbing::query_callback<rustc_query_impl[8a469421e04f2617]::query_impl::adt_def::QueryType>::{closure#0} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode)>>::call_once
  17:        0x10a174bcc - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  18:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  19:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  20:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  21:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  22:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  23:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  24:        0x10a1749a4 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  25:        0x10a053cd8 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::DefaultCache<rustc_type_ir[13e7c5d4fa472869]::canonical::Canonical<rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_middle[e36d7eaa836056c9]::ty::ParamEnvAnd<rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate>>, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  26:        0x10a1ed9a0 - rustc_query_impl[8a469421e04f2617]::query_impl::type_op_prove_predicate::get_query_incr::__rust_end_short_backtrace
  27:        0x10a435044 - <rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate as rustc_trait_selection[eae0a4c30f238c39]::traits::query::type_op::QueryTypeOp>::perform_query
  28:        0x109f2b284 - <rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate as rustc_trait_selection[eae0a4c30f238c39]::traits::query::type_op::QueryTypeOp>::fully_perform_into
  29:        0x109ddd9d8 - <rustc_borrowck[13e5d259f227f202]::type_check::TypeChecker>::fully_perform_op::<(), rustc_middle[e36d7eaa836056c9]::ty::ParamEnvAnd<rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate>>
  30:        0x109ddeb94 - <rustc_borrowck[13e5d259f227f202]::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates
  31:        0x109dda4ac - <rustc_borrowck[13e5d259f227f202]::type_check::TypeVerifier as rustc_middle[e36d7eaa836056c9]::mir::visit::Visitor>::visit_constant
  32:        0x109ddb7cc - <rustc_borrowck[13e5d259f227f202]::type_check::TypeVerifier as rustc_middle[e36d7eaa836056c9]::mir::visit::Visitor>::visit_body
  33:        0x109dd7bd0 - rustc_borrowck[13e5d259f227f202]::type_check::type_check
  34:        0x109e42da4 - rustc_borrowck[13e5d259f227f202]::nll::compute_regions
  35:        0x109e93158 - rustc_borrowck[13e5d259f227f202]::do_mir_borrowck
  36:        0x109e87384 - rustc_borrowck[13e5d259f227f202]::mir_borrowck
  37:        0x10a1e205c - rustc_query_impl[8a469421e04f2617]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>
  38:        0x10a209fb8 - <rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_span[8e20f49d120d5a21]::def_id::LocalDefId)>>::call_once
  39:        0x10a0a3610 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::VecCache<rustc_span[8e20f49d120d5a21]::def_id::LocalDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  40:        0x10a03c270 - rustc_query_system[53819e175f7302f3]::query::plumbing::force_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::VecCache<rustc_span[8e20f49d120d5a21]::def_id::LocalDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  41:        0x10a1bcd88 - <rustc_query_impl[8a469421e04f2617]::plumbing::query_callback<rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::QueryType>::{closure#0} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode)>>::call_once
  42:        0x10a174bcc - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  43:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  44:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  45:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  46:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  47:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  48:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  49:        0x10a1749a4 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  50:        0x10a03e680 - rustc_query_system[53819e175f7302f3]::query::plumbing::ensure_must_run::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::DefaultCache<rustc_span[8e20f49d120d5a21]::def_id::LocalModDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  51:        0x10a236968 - rustc_query_impl[8a469421e04f2617]::query_impl::check_mod_impl_wf::get_query_incr::__rust_end_short_backtrace
  52:        0x1096178e0 - <rustc_middle[e36d7eaa836056c9]::hir::map::Map>::for_each_module::<rustc_hir_analysis[8e6bd1d667ca1d85]::check_crate::{closure#2}::{closure#0}::{closure#0}>
  53:        0x1095ad648 - rustc_hir_analysis[8e6bd1d667ca1d85]::check_crate
  54:        0x109193814 - rustc_interface[dd532f6f2f02f054]::passes::analysis
  55:        0x10a1e6dd8 - rustc_query_impl[8a469421e04f2617]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8a469421e04f2617]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 1usize]>>
  56:        0x10a20eba8 - <rustc_query_impl[8a469421e04f2617]::query_impl::analysis::dynamic_query::{closure#2} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, ())>>::call_once
  57:        0x10a045758 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::SingleCache<rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  58:        0x10a2334d8 - rustc_query_impl[8a469421e04f2617]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  59:        0x108fe3100 - <rustc_middle[e36d7eaa836056c9]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}::{closure#0}::{closure#3}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  60:        0x108fe29ec - <rustc_interface[dd532f6f2f02f054]::interface::Compiler>::enter::<rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<core[8a3d40ff46b1d1ff]::option::Option<rustc_interface[dd532f6f2f02f054]::queries::Linker>, rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  61:        0x108faa3f8 - rustc_span[8e20f49d120d5a21]::set_source_map::<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
  62:        0x108fd0a44 - <scoped_tls[800220c1626a2492]::ScopedKey<rustc_span[8e20f49d120d5a21]::SessionGlobals>>::set::<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  63:        0x108fac4f8 - rustc_span[8e20f49d120d5a21]::create_session_globals_then::<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}>
  64:        0x10900cca8 - std[d0251ff5e400585e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dd532f6f2f02f054]::util::run_in_thread_with_globals<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  65:        0x108fdc160 - <<std[d0251ff5e400585e]::thread::Builder>::spawn_unchecked_<rustc_interface[dd532f6f2f02f054]::util::run_in_thread_with_globals<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#1} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  66:        0x1051cd370 - std::sys::unix::thread::Thread::new::thread_start::hbfaa262dcce3c585
  67:        0x18e49af94 - __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.76.0 (07dca489a 2024-02-04) (built from a source tarball) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -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 [type_op_prove_predicate] evaluating `type_op_prove_predicate` `ProvePredicate { predicate: Binder { value: TraitPredicate(<diesel::query_builder::update_statement::UpdateStatement<spore_db_schema::schema::terms_documents::table, diesel::query_builder::where_clause::NoWhereClause, (diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::name>, diesel::expression::bound::Bound<diesel::sql_types::Text, alloc::string::String>>, diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::data>, diesel::expression::bound::Bound<diesel::sql_types::Binary, alloc::vec::Vec<u8>>>)> as diesel::query_builder::AsQuery>, polarity:Positive), bound_vars: [] } }`
#1 [mir_borrowck] borrow-checking `storage::terms_document::<impl at spore-db-impl/src/storage/terms_document.rs:18:1: 18:77>::update_document::{closure#0}::{closure#0}::{closure#0}`
#2 [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 adt_sized_constraint(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:        0x1051d2fd4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h61949099c17bb561
   1:        0x10521e2a0 - core::fmt::write::he0c0819610fe7c82
   2:        0x1051ad2dc - std::io::Write::write_fmt::h14dadda6958822c3
   3:        0x1051d2e28 - std::sys_common::backtrace::print::h10166cbeffac9d38
   4:        0x1051d422c - std::panicking::default_hook::{{closure}}::hfec7fca779e11f3b
   5:        0x1051d3fac - std::panicking::default_hook::h26402d2c6670ffd0
   6:        0x108fdbcdc - std[d0251ff5e400585e]::panicking::update_hook::<alloc[6ce8990e7c5dc05d]::boxed::Box<rustc_driver_impl[8e5d690fd0be477f]::install_ice_hook::{closure#0}>>::{closure#0}
   7:        0x1051d494c - std::panicking::rust_panic_with_hook::hb00dd38969b5a277
   8:        0x1051d462c - std::panicking::begin_panic_handler::{{closure}}::hc86edf66ba485638
   9:        0x1051d3208 - std::sys_common::backtrace::__rust_end_short_backtrace::h24f57ebe971b5eac
  10:        0x1051d43e0 - _rust_begin_unwind
  11:        0x10522f3a8 - core::panicking::panic_fmt::h21b3a72f47844886
  12:        0x10522f430 - core::panicking::panic::h3d30c5c3383a127c
  13:        0x10a87bf14 - <rustc_metadata[d3c152f6fd3e93a5]::creader::CStore as rustc_session[4d4998990e438cd6]::cstore::CrateStore>::def_path_hash_to_def_id
  14:        0x10adc2278 - <rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt>::def_path_hash_to_def_id
  15:        0x10ad97d5c - <rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode as rustc_middle[e36d7eaa836056c9]::dep_graph::dep_node::DepNodeExt>::extract_def_id
  16:        0x109115590 - rustc_interface[dd532f6f2f02f054]::callbacks::dep_node_debug
  17:        0x10ae3e3d4 - <rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode as core[8a3d40ff46b1d1ff]::fmt::Debug>::fmt
  18:        0x10521e2a0 - core::fmt::write::he0c0819610fe7c82
  19:        0x10519eb78 - <&std::io::stdio::Stderr as std::io::Write>::write_fmt::h3588741b6a9a186e
  20:        0x10519f58c - std::io::stdio::_eprint::h582edec1e95e0820
  21:        0x10b271400 - rustc_query_system[53819e175f7302f3]::dep_graph::graph::print_markframe_trace::<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>
  22:        0x10a175278 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  23:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  24:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  25:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  26:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  27:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  28:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  29:        0x10a1749a4 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  30:        0x10a053cd8 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::DefaultCache<rustc_type_ir[13e7c5d4fa472869]::canonical::Canonical<rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_middle[e36d7eaa836056c9]::ty::ParamEnvAnd<rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate>>, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  31:        0x10a1ed9a0 - rustc_query_impl[8a469421e04f2617]::query_impl::type_op_prove_predicate::get_query_incr::__rust_end_short_backtrace
  32:        0x10a435044 - <rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate as rustc_trait_selection[eae0a4c30f238c39]::traits::query::type_op::QueryTypeOp>::perform_query
  33:        0x109f2b284 - <rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate as rustc_trait_selection[eae0a4c30f238c39]::traits::query::type_op::QueryTypeOp>::fully_perform_into
  34:        0x109ddd9d8 - <rustc_borrowck[13e5d259f227f202]::type_check::TypeChecker>::fully_perform_op::<(), rustc_middle[e36d7eaa836056c9]::ty::ParamEnvAnd<rustc_middle[e36d7eaa836056c9]::traits::query::type_op::ProvePredicate>>
  35:        0x109ddeb94 - <rustc_borrowck[13e5d259f227f202]::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates
  36:        0x109dda4ac - <rustc_borrowck[13e5d259f227f202]::type_check::TypeVerifier as rustc_middle[e36d7eaa836056c9]::mir::visit::Visitor>::visit_constant
  37:        0x109ddb7cc - <rustc_borrowck[13e5d259f227f202]::type_check::TypeVerifier as rustc_middle[e36d7eaa836056c9]::mir::visit::Visitor>::visit_body
  38:        0x109dd7bd0 - rustc_borrowck[13e5d259f227f202]::type_check::type_check
  39:        0x109e42da4 - rustc_borrowck[13e5d259f227f202]::nll::compute_regions
  40:        0x109e93158 - rustc_borrowck[13e5d259f227f202]::do_mir_borrowck
  41:        0x109e87384 - rustc_borrowck[13e5d259f227f202]::mir_borrowck
  42:        0x10a1e205c - rustc_query_impl[8a469421e04f2617]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>
  43:        0x10a209fb8 - <rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_span[8e20f49d120d5a21]::def_id::LocalDefId)>>::call_once
  44:        0x10a0a3610 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::VecCache<rustc_span[8e20f49d120d5a21]::def_id::LocalDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  45:        0x10a03c270 - rustc_query_system[53819e175f7302f3]::query::plumbing::force_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::VecCache<rustc_span[8e20f49d120d5a21]::def_id::LocalDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  46:        0x10a1bcd88 - <rustc_query_impl[8a469421e04f2617]::plumbing::query_callback<rustc_query_impl[8a469421e04f2617]::query_impl::mir_borrowck::QueryType>::{closure#0} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, rustc_query_system[53819e175f7302f3]::dep_graph::dep_node::DepNode)>>::call_once
  47:        0x10a174bcc - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  48:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  49:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  50:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  51:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  52:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  53:        0x10a174c14 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  54:        0x10a1749a4 - <rustc_query_system[53819e175f7302f3]::dep_graph::graph::DepGraphData<rustc_middle[e36d7eaa836056c9]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  55:        0x10a03e680 - rustc_query_system[53819e175f7302f3]::query::plumbing::ensure_must_run::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::DefaultCache<rustc_span[8e20f49d120d5a21]::def_id::LocalModDefId, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt>
  56:        0x10a236968 - rustc_query_impl[8a469421e04f2617]::query_impl::check_mod_impl_wf::get_query_incr::__rust_end_short_backtrace
  57:        0x1096178e0 - <rustc_middle[e36d7eaa836056c9]::hir::map::Map>::for_each_module::<rustc_hir_analysis[8e6bd1d667ca1d85]::check_crate::{closure#2}::{closure#0}::{closure#0}>
  58:        0x1095ad648 - rustc_hir_analysis[8e6bd1d667ca1d85]::check_crate
  59:        0x109193814 - rustc_interface[dd532f6f2f02f054]::passes::analysis
  60:        0x10a1e6dd8 - rustc_query_impl[8a469421e04f2617]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8a469421e04f2617]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 1usize]>>
  61:        0x10a20eba8 - <rustc_query_impl[8a469421e04f2617]::query_impl::analysis::dynamic_query::{closure#2} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<(rustc_middle[e36d7eaa836056c9]::ty::context::TyCtxt, ())>>::call_once
  62:        0x10a045758 - rustc_query_system[53819e175f7302f3]::query::plumbing::try_execute_query::<rustc_query_impl[8a469421e04f2617]::DynamicConfig<rustc_query_system[53819e175f7302f3]::query::caches::SingleCache<rustc_middle[e36d7eaa836056c9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[8a469421e04f2617]::plumbing::QueryCtxt, true>
  63:        0x10a2334d8 - rustc_query_impl[8a469421e04f2617]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  64:        0x108fe3100 - <rustc_middle[e36d7eaa836056c9]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}::{closure#0}::{closure#3}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  65:        0x108fe29ec - <rustc_interface[dd532f6f2f02f054]::interface::Compiler>::enter::<rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<core[8a3d40ff46b1d1ff]::option::Option<rustc_interface[dd532f6f2f02f054]::queries::Linker>, rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  66:        0x108faa3f8 - rustc_span[8e20f49d120d5a21]::set_source_map::<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
  67:        0x108fd0a44 - <scoped_tls[800220c1626a2492]::ScopedKey<rustc_span[8e20f49d120d5a21]::SessionGlobals>>::set::<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  68:        0x108fac4f8 - rustc_span[8e20f49d120d5a21]::create_session_globals_then::<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}>
  69:        0x10900cca8 - std[d0251ff5e400585e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dd532f6f2f02f054]::util::run_in_thread_with_globals<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>
  70:        0x108fdc160 - <<std[d0251ff5e400585e]::thread::Builder>::spawn_unchecked_<rustc_interface[dd532f6f2f02f054]::util::run_in_thread_with_globals<rustc_interface[dd532f6f2f02f054]::interface::run_compiler<core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>, rustc_driver_impl[8e5d690fd0be477f]::run_compiler::{closure#0}>::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[8a3d40ff46b1d1ff]::result::Result<(), rustc_span[8e20f49d120d5a21]::ErrorGuaranteed>>::{closure#1} as core[8a3d40ff46b1d1ff]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  71:        0x1051cd370 - std::sys::unix::thread::Thread::new::thread_start::hbfaa262dcce3c585
  72:        0x18e49af94 - __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.76.0 (07dca489a 2024-02-04) (built from a source tarball) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -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 [type_op_prove_predicate] evaluating `type_op_prove_predicate` `ProvePredicate { predicate: Binder { value: TraitPredicate(<diesel::query_builder::update_statement::UpdateStatement<spore_db_schema::schema::terms_documents::table, diesel::query_builder::where_clause::NoWhereClause, (diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::name>, diesel::expression::bound::Bound<diesel::sql_types::Text, alloc::string::String>>, diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::data>, diesel::expression::bound::Bound<diesel::sql_types::Binary, alloc::vec::Vec<u8>>>)> as diesel::query_builder::AsQuery>, polarity:Positive), bound_vars: [] } }`
#1 [mir_borrowck] borrow-checking `storage::terms_document::<impl at spore-db-impl/src/storage/terms_document.rs:18:1: 18:77>::update_document::{closure#0}::{closure#0}::{closure#0}`
#2 [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 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{closure#0}::{closure#0})
#1 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{closure#0})
#2 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document)
#3 type_of_opaque(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{opaque#0})
#4 collect_return_position_impl_trait_in_trait_tys(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document)
#5 type_of(spore_db_impl[2b51]::storage::terms_document::{impl#0}::{opaque#4})
#6 check_mod_impl_wf(spore_db_impl[2b51]::storage::terms_document)
end of try_mark_green dep node stack
error: could not compile `spore-db-impl` (lib)
```

<!--
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>

```
>$ RUST_BACKTRACE=1 cargo build
   Compiling spore-db-impl v0.1.0 (/Users/richard.morrison/src/mushroom/services/spore/spore-db-impl)
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: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_metadata::creader::CStore as rustc_session::cstore::CrateStore>::def_path_hash_to_def_id
   4: <rustc_middle::ty::context::TyCtxt>::def_path_hash_to_def_id
   5: <rustc_query_system::dep_graph::dep_node::DepNode as rustc_middle::dep_graph::dep_node::DepNodeExt>::extract_def_id
   6: <rustc_query_impl::plumbing::query_callback<rustc_query_impl::query_impl::adt_def::QueryType>::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
   7: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   8: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   9: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  10: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  11: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  12: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  13: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  14: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl::plumbing::QueryCtxt>
  15: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_type_ir::canonical::Canonical<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::traits::query::type_op::ProvePredicate>>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
  16: <rustc_middle::traits::query::type_op::ProvePredicate as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
  17: <rustc_middle::traits::query::type_op::ProvePredicate as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::fully_perform_into
  18: <rustc_borrowck::type_check::TypeChecker>::fully_perform_op::<(), rustc_middle::ty::ParamEnvAnd<rustc_middle::traits::query::type_op::ProvePredicate>>
  19: <rustc_borrowck::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates
  20: <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_constant
  21: <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_body
  22: rustc_borrowck::type_check::type_check
  23: rustc_borrowck::nll::compute_regions
  24: rustc_borrowck::do_mir_borrowck
  25: rustc_borrowck::mir_borrowck
      [... omitted 13 frames ...]
  26: <rustc_middle::hir::map::Map>::for_each_module::<rustc_hir_analysis::check_crate::{closure#2}::{closure#0}::{closure#0}>
  27: rustc_hir_analysis::check_crate
  28: rustc_interface::passes::analysis
      [... omitted 2 frames ...]
  29: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#0}::{closure#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  30: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#0}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
  31: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
  32: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  33: rustc_span::create_session_globals_then::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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.76.0 (07dca489a 2024-02-04) (built from a source tarball) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -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 [type_op_prove_predicate] evaluating `type_op_prove_predicate` `ProvePredicate { predicate: Binder { value: TraitPredicate(<diesel::query_builder::update_statement::UpdateStatement<spore_db_schema::schema::terms_documents::table, diesel::query_builder::where_clause::NoWhereClause, (diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::name>, diesel::expression::bound::Bound<diesel::sql_types::Text, alloc::string::String>>, diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::data>, diesel::expression::bound::Bound<diesel::sql_types::Binary, alloc::vec::Vec<u8>>>)> as diesel::query_builder::AsQuery>, polarity:Positive), bound_vars: [] } }`
#1 [mir_borrowck] borrow-checking `storage::terms_document::<impl at spore-db-impl/src/storage/terms_document.rs:18:1: 18:77>::update_document::{closure#0}::{closure#0}::{closure#0}`
#2 [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 adt_sized_constraint(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: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_metadata::creader::CStore as rustc_session::cstore::CrateStore>::def_path_hash_to_def_id
   4: <rustc_middle::ty::context::TyCtxt>::def_path_hash_to_def_id
   5: <rustc_query_system::dep_graph::dep_node::DepNode as rustc_middle::dep_graph::dep_node::DepNodeExt>::extract_def_id
   6: rustc_interface::callbacks::dep_node_debug
   7: <rustc_query_system::dep_graph::dep_node::DepNode as core::fmt::Debug>::fmt
   8: core::fmt::write
   9: <&std::io::stdio::Stderr as std::io::Write>::write_fmt
  10: std::io::stdio::_eprint
  11: rustc_query_system::dep_graph::graph::print_markframe_trace::<rustc_middle::dep_graph::DepsType>
  12: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  13: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  14: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  16: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  17: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  18: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
  19: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl::plumbing::QueryCtxt>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_type_ir::canonical::Canonical<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::traits::query::type_op::ProvePredicate>>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
  21: <rustc_middle::traits::query::type_op::ProvePredicate as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
  22: <rustc_middle::traits::query::type_op::ProvePredicate as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::fully_perform_into
  23: <rustc_borrowck::type_check::TypeChecker>::fully_perform_op::<(), rustc_middle::ty::ParamEnvAnd<rustc_middle::traits::query::type_op::ProvePredicate>>
  24: <rustc_borrowck::type_check::TypeChecker>::normalize_and_prove_instantiated_predicates
  25: <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_constant
  26: <rustc_borrowck::type_check::TypeVerifier as rustc_middle::mir::visit::Visitor>::visit_body
  27: rustc_borrowck::type_check::type_check
  28: rustc_borrowck::nll::compute_regions
  29: rustc_borrowck::do_mir_borrowck
  30: rustc_borrowck::mir_borrowck
      [... omitted 13 frames ...]
  31: <rustc_middle::hir::map::Map>::for_each_module::<rustc_hir_analysis::check_crate::{closure#2}::{closure#0}::{closure#0}>
  32: rustc_hir_analysis::check_crate
  33: rustc_interface::passes::analysis
      [... omitted 2 frames ...]
  34: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#0}::{closure#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  35: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#0}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
  36: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
  37: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  38: rustc_span::create_session_globals_then::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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.76.0 (07dca489a 2024-02-04) (built from a source tarball) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -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 [type_op_prove_predicate] evaluating `type_op_prove_predicate` `ProvePredicate { predicate: Binder { value: TraitPredicate(<diesel::query_builder::update_statement::UpdateStatement<spore_db_schema::schema::terms_documents::table, diesel::query_builder::where_clause::NoWhereClause, (diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::name>, diesel::expression::bound::Bound<diesel::sql_types::Text, alloc::string::String>>, diesel::query_builder::update_statement::changeset::Assign<diesel::query_builder::update_statement::changeset::ColumnWrapperForUpdate<spore_db_schema::schema::terms_documents::columns::data>, diesel::expression::bound::Bound<diesel::sql_types::Binary, alloc::vec::Vec<u8>>>)> as diesel::query_builder::AsQuery>, polarity:Positive), bound_vars: [] } }`
#1 [mir_borrowck] borrow-checking `storage::terms_document::<impl at spore-db-impl/src/storage/terms_document.rs:18:1: 18:77>::update_document::{closure#0}::{closure#0}::{closure#0}`
#2 [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 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{closure#0}::{closure#0})
#1 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{closure#0})
#2 mir_borrowck(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document)
#3 type_of_opaque(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document::{opaque#0})
#4 collect_return_position_impl_trait_in_trait_tys(spore_db_impl[2b51]::storage::terms_document::{impl#0}::update_document)
#5 type_of(spore_db_impl[2b51]::storage::terms_document::{impl#0}::{opaque#4})
#6 check_mod_impl_wf(spore_db_impl[2b51]::storage::terms_document)
end of try_mark_green dep node stack
error: could not compile `spore-db-impl` (lib)
```

</p>
</details>