Repository: rust
Issue: `adt_sized_constraint` called on non-struct type
Labels: I-ICE,T-compiler,A-incr-comp,C-bug,S-has-mcve

<!--
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

Note: Error is in big private project, I can follow up with a smaller example this weekend.

Sharing a rough outline now of what I think is relevant:

```Rust
#[derive(Debug, Clone)]
pub enum SourceDocument {
  Document {
    source: SourceDocumentModel,
  },
}

#[async_graphql::Object]
impl SourceDocument {
  async fn version_id(&self) -> Uuid {
    match self {
      SourceDocument::Document { source } => source.version_id.clone(),
    }
  }
}

pub struct SourceDocumentLoader {
  pub pool: ReadDbPool,
}

impl Loader<Uuid> for SourceDocumentLoader {
  type Value = SourceDocument;
  type Error = LoaderError;

  async fn load(&self, keys: &[Uuid]) -> Result<HashMap<Uuid, Self::Value>, Self::Error> {
    // Uses diesel to read from a postgres db
    todo!()
  }
}

#[derive(thiserror::Error, Clone, Debug)]
pub enum LoaderError {
  #[error("Error loading data: {message}")]
  Error { message: String },
}

#[derive(Debug, Clone, Queryable, Selectable, Insertable)]
#[diesel(table_name = crate::schema::source_documents)]
#[diesel(check_for_backend(diesel::pg::Pg))]
#[diesel(primary_key(version_id))]
pub struct SourceDocumentModel {
    pub version_id: Uuid,
}
```

Code uses [async_graphql](https://github.com/async-graphql/async-graphql), [diesel](https://github.com/diesel-rs/diesel), and [thiserror](https://docs.rs/thiserror/latest/thiserror/).

### 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.86.0-nightly (a580b5c37 2025-01-08)
binary: rustc
commit-hash: a580b5c379b4fca50dfe5afc0fc0ce00921e4e00
commit-date: 2025-01-08
host: x86_64-unknown-linux-gnu
release: 1.86.0-nightly
LLVM version: 19.1.6
```

### Error output

```
error: internal compiler error: compiler/rustc_ty_utils/src/ty.rs:93:9: `adt_sized_constraint` called on non-struct type: source_document::SourceDocument
```

[rustc-ice-2025-01-09T13_24_52-67690.txt](https://github.com/user-attachments/files/18362235/rustc-ice-2025-01-09T13_24_52-67690.txt)

<!--
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>

```
thread 'rustc' panicked at compiler/rustc_ty_utils/src/ty.rs:93:9:
Box<dyn Any>
stack backtrace:
   0:     0x75cb7b8e3a7a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hc48a3003e72a1fb5
   1:     0x75cb7c013126 - core::fmt::write::h244b471aa97315bd
   2:     0x75cb7cf22211 - std::io::Write::write_fmt::h63cacec38f2c7922
   3:     0x75cb7b8e38d2 - std::sys::backtrace::BacktraceLock::print::h8e88b30882062ce8
   4:     0x75cb7b8e5e77 - std::panicking::default_hook::{{closure}}::he2b2f35b61e5b6b4
   5:     0x75cb7b8e5c60 - std::panicking::default_hook::h2b9fc43053d2ca15
   6:     0x75cb7aa568a8 - std[c08ade969ea4a026]::panicking::update_hook::<alloc[ecf666bc700c7d64]::boxed::Box<rustc_driver_impl[7ccddf7307cff907]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x75cb7b8e66c3 - std::panicking::rust_panic_with_hook::h1126dbe971a7f919
   8:     0x75cb7aa8ecc1 - std[c08ade969ea4a026]::panicking::begin_panic::<rustc_errors[1eaa06d4a73dafc5]::ExplicitBug>::{closure#0}
   9:     0x75cb7aa83ea6 - std[c08ade969ea4a026]::sys::backtrace::__rust_end_short_backtrace::<std[c08ade969ea4a026]::panicking::begin_panic<rustc_errors[1eaa06d4a73dafc5]::ExplicitBug>::{closure#0}, !>
  10:     0x75cb7aa83c63 - std[c08ade969ea4a026]::panicking::begin_panic::<rustc_errors[1eaa06d4a73dafc5]::ExplicitBug>
  11:     0x75cb7aa98c21 - <rustc_errors[1eaa06d4a73dafc5]::diagnostic::BugAbort as rustc_errors[1eaa06d4a73dafc5]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:     0x75cb7b06db03 - rustc_middle[bc4ae9fc2bf4235a]::util::bug::opt_span_bug_fmt::<rustc_span[cfc513d191a8d813]::span_encoding::Span>::{closure#0}
  13:     0x75cb7b052b1a - rustc_middle[bc4ae9fc2bf4235a]::ty::context::tls::with_opt::<rustc_middle[bc4ae9fc2bf4235a]::util::bug::opt_span_bug_fmt<rustc_span[cfc513d191a8d813]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x75cb7b0529ab - rustc_middle[bc4ae9fc2bf4235a]::ty::context::tls::with_context_opt::<rustc_middle[bc4ae9fc2bf4235a]::ty::context::tls::with_opt<rustc_middle[bc4ae9fc2bf4235a]::util::bug::opt_span_bug_fmt<rustc_span[cfc513d191a8d813]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x75cb791d3d20 - rustc_middle[bc4ae9fc2bf4235a]::util::bug::bug_fmt
  16:     0x75cb7d80725b - rustc_ty_utils[677f1c67437d8f87]::ty::adt_sized_constraint.cold
  17:     0x75cb7c63787b - rustc_query_impl[9bbd9b92042adb73]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9bbd9b92042adb73]::query_impl::adt_sized_constraint::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>
  18:     0x75cb7c49f571 - rustc_query_system[7c1448542a492b7f]::query::plumbing::try_execute_query::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefIdCache<rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt, true>
  19:     0x75cb7ce3b807 - rustc_query_impl[9bbd9b92042adb73]::plumbing::force_from_dep_node::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefIdCache<rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
  20:     0x75cb7b3fc6fd - <rustc_query_impl[9bbd9b92042adb73]::plumbing::query_callback<rustc_query_impl[9bbd9b92042adb73]::query_impl::adt_sized_constraint::QueryType>::{closure#0} as core[6b5cbebef9c0da3b]::ops::function::FnOnce<(rustc_middle[bc4ae9fc2bf4235a]::ty::context::TyCtxt, rustc_query_system[7c1448542a492b7f]::dep_graph::dep_node::DepNode)>>::call_once
  21:     0x75cb7c02d6be - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  22:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  23:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  24:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  25:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  26:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  27:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  28:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  29:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  30:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  31:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  32:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  33:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  34:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  35:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  36:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  37:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  38:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  39:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  40:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  41:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  42:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  43:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  44:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  45:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  46:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  47:     0x75cb7c48ea50 - rustc_query_system[7c1448542a492b7f]::query::plumbing::try_execute_query::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefaultCache<rustc_type_ir[72683c14ceefff53]::canonical::CanonicalQueryInput<rustc_middle[bc4ae9fc2bf4235a]::ty::context::TyCtxt, rustc_middle[bc4ae9fc2bf4235a]::ty::ParamEnvAnd<rustc_middle[bc4ae9fc2bf4235a]::ty::predicate::Predicate>>, rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt, true>
  48:     0x75cb7c49ade1 - rustc_query_impl[9bbd9b92042adb73]::query_impl::evaluate_obligation::get_query_incr::__rust_end_short_backtrace
  49:     0x75cb7c9aa9b5 - <rustc_trait_selection[3b93a0d4a4051551]::traits::fulfill::FulfillProcessor as rustc_data_structures[ad275ecca387d218]::obligation_forest::ObligationProcessor>::process_obligation
  50:     0x75cb7c004e4b - <rustc_data_structures[ad275ecca387d218]::obligation_forest::ObligationForest<rustc_trait_selection[3b93a0d4a4051551]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[3b93a0d4a4051551]::traits::fulfill::FulfillProcessor>
  51:     0x75cb7c36abe9 - <rustc_trait_selection[3b93a0d4a4051551]::traits::fulfill::FulfillmentContext<rustc_trait_selection[3b93a0d4a4051551]::traits::FulfillmentError> as rustc_infer[5a45bd38abbfece3]::traits::engine::TraitEngine<rustc_trait_selection[3b93a0d4a4051551]::traits::FulfillmentError>>::select_all_or_error
  52:     0x75cb7ac43d62 - rustc_hir_analysis[f90ae88cc1f43808]::check::compare_impl_item::collect_return_position_impl_trait_in_trait_tys::{closure#0}
  53:     0x75cb7b434a13 - rustc_query_impl[9bbd9b92042adb73]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9bbd9b92042adb73]::query_impl::collect_return_position_impl_trait_in_trait_tys::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>
  54:     0x75cb7c49f571 - rustc_query_system[7c1448542a492b7f]::query::plumbing::try_execute_query::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefIdCache<rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt, true>
  55:     0x75cb7ce3b807 - rustc_query_impl[9bbd9b92042adb73]::plumbing::force_from_dep_node::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefIdCache<rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
  56:     0x75cb7b3fe0cd - <rustc_query_impl[9bbd9b92042adb73]::plumbing::query_callback<rustc_query_impl[9bbd9b92042adb73]::query_impl::collect_return_position_impl_trait_in_trait_tys::QueryType>::{closure#0} as core[6b5cbebef9c0da3b]::ops::function::FnOnce<(rustc_middle[bc4ae9fc2bf4235a]::ty::context::TyCtxt, rustc_query_system[7c1448542a492b7f]::dep_graph::dep_node::DepNode)>>::call_once
  57:     0x75cb7c02d6be - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  58:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  59:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  60:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  61:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  62:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  63:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  64:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  65:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  66:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  67:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  68:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  69:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  70:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  71:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  72:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  73:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  74:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  75:     0x75cb7c02d62a - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  76:     0x75cb7c02cdf4 - <rustc_query_system[7c1448542a492b7f]::dep_graph::graph::DepGraphData<rustc_middle[bc4ae9fc2bf4235a]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  77:     0x75cb7ca8977a - rustc_query_system[7c1448542a492b7f]::query::plumbing::ensure_must_run::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::DefaultCache<rustc_span[cfc513d191a8d813]::def_id::LocalModDefId, rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt>
  78:     0x75cb7cf6b297 - rustc_query_impl[9bbd9b92042adb73]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
  79:     0x75cb7c425038 - rustc_hir_analysis[f90ae88cc1f43808]::check_crate
  80:     0x75cb7c2c84e8 - rustc_interface[9ea0a400d5371a28]::passes::run_required_analyses
  81:     0x75cb7cf2609e - rustc_interface[9ea0a400d5371a28]::passes::analysis
  82:     0x75cb7cf2606f - rustc_query_impl[9bbd9b92042adb73]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9bbd9b92042adb73]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 0usize]>>
  83:     0x75cb7cf2b83c - rustc_query_system[7c1448542a492b7f]::query::plumbing::try_execute_query::<rustc_query_impl[9bbd9b92042adb73]::DynamicConfig<rustc_query_system[7c1448542a492b7f]::query::caches::SingleCache<rustc_middle[bc4ae9fc2bf4235a]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[9bbd9b92042adb73]::plumbing::QueryCtxt, true>
  84:     0x75cb7cf2b095 - rustc_query_impl[9bbd9b92042adb73]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  85:     0x75cb7cf5885e - rustc_interface[9ea0a400d5371a28]::passes::create_and_enter_global_ctxt::<core[6b5cbebef9c0da3b]::option::Option<rustc_interface[9ea0a400d5371a28]::queries::Linker>, rustc_driver_impl[7ccddf7307cff907]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  86:     0x75cb7cfcba64 - rustc_interface[9ea0a400d5371a28]::interface::run_compiler::<(), rustc_driver_impl[7ccddf7307cff907]::run_compiler::{closure#0}>::{closure#1}
  87:     0x75cb7ce2d651 - std[c08ade969ea4a026]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[9ea0a400d5371a28]::util::run_in_thread_with_globals<rustc_interface[9ea0a400d5371a28]::util::run_in_thread_pool_with_globals<rustc_interface[9ea0a400d5371a28]::interface::run_compiler<(), rustc_driver_impl[7ccddf7307cff907]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  88:     0x75cb7ce2db08 - <<std[c08ade969ea4a026]::thread::Builder>::spawn_unchecked_<rustc_interface[9ea0a400d5371a28]::util::run_in_thread_with_globals<rustc_interface[9ea0a400d5371a28]::util::run_in_thread_pool_with_globals<rustc_interface[9ea0a400d5371a28]::interface::run_compiler<(), rustc_driver_impl[7ccddf7307cff907]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[6b5cbebef9c0da3b]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  89:     0x75cb7ce2f0af - std::sys::pal::unix::thread::Thread::new::thread_start::h2f2b51e924b57f78
  90:     0x75cb7709ca94 - start_thread
                               at ./nptl/pthread_create.c:447:8
  91:     0x75cb77129c3c - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0
  92:                0x0 - <unknown>

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: please make sure that you have updated to the latest nightly

note: please attach the file at `/home/doug/Development/lobbying/rustc-ice-2025-01-09T13_24_52-67690.txt` to your bug report

note: compiler flags: --crate-type bin -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 [adt_sized_constraint] computing the `Sized` constraint for `source_document::SourceDocument`
#1 [evaluate_obligation] evaluating trait selection obligation `{coroutine witness@async_graphql::dataloader::DataLoader<source_document::SourceDocumentLoader>::load_one<uuid::Uuid>::{closure#0}}: core::marker::Send`
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 TraitSelect(c36863bb4250ede5-f0dd5b3545e01e15)
#1 TraitSelect(4c24be15b2d6f3af-b372a1afbf71a4aa)
#2 TraitSelect(69ab8d1745af0068-b0944b0cab84b24)
#3 TraitSelect(c153f366ec878262-f3ae313c38edf5e7)
#4 TraitSelect(2f883a331de2a01c-9238e411f0403744)
#5 TraitSelect(6dca713fc985efa2-af0ad76122c8aa17)
#6 TraitSelect(64cfb3c63d150d75-1e1f5a402c317172)
#7 TraitSelect(f9af3800d44ff3e4-c672ae11c7e73560)
#8 TraitSelect(ef208155b0fe538e-b7da9cf6c85f2cd7)
#9 TraitSelect(4f5d3a840d9726c3-d1e1fb34a4f029c3)
#10 TraitSelect(2432ab797fc17b91-58047adae3b4e49c)
#11 TraitSelect(d77b66b9d9582d06-c5d1b5ac3ba18980)
#12 TraitSelect(9da3316b7c7fe753-e7982e0523071a7d)
#13 TraitSelect(90e7cc615586a753-4fa0d478fe37a4bc)
#14 TraitSelect(e353561ffe759df0-3da4a5ac9199f1ce)
#15 TraitSelect(b0438a1675ccac99-3c282d273a68e797)
#16 TraitSelect(8998c777296d1649-1dfc41a77f09603a)
#17 TraitSelect(f942389db325f641-b8f5c2ca965388ee)
#18 TraitSelect(cbd4e3a9281c1930-4262525b51832562)
#19 TraitSelect(684a1519b66b3e04-c5a996d7ec774d25)
#20 TraitSelect(3783c758b5bcb5ec-6b7963105e2658c4)
#21 TraitSelect(eeaa1c4e693c75e1-f0989f528411392)
#22 TraitSelect(de190a34dd4b679-4bc8f1e5638b02c3)
#23 TraitSelect(439355cf8e13ae6e-27d4890120885cbf)
#24 TraitSelect(4d717f5e53cbbdca-7536b26de4960f8c)
#25 evaluate_obligation(dd25ae4b162e8c5e-adc1b9760f7d6431)
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 type_of(lobbying_server[564e]::node::_#3::{impl#2}::{synthetic#0})
#1 TraitSelect(7731928422ddb96d-f76ce588425f3ba6)
#2 TraitSelect(471ed7e67a5e48b2-58428cd36fa43e7f)
#3 TraitSelect(a712978cb0ce4e44-675a7994a48a9d4)
#4 TraitSelect(7988b5f2f3494ece-fd576515aca27bf0)
#5 TraitSelect(108f37a0d93bb6de-f6e6be7f42115633)
#6 TraitSelect(4fa9c120236ed362-79730a0412cd8a6a)
#7 TraitSelect(e8fdbc73d73f4ba6-a1f4d1bd97cb19b7)
#8 TraitSelect(51e3c72960005881-e2d885b735040628)
#9 TraitSelect(508a4e880caee318-af4ed7ea6ef94577)
#10 TraitSelect(cab73f48aa018ede-7ffa95981727c00c)
#11 TraitSelect(dbf609b2611019a8-87b6693ebc9448d9)
#12 TraitSelect(3f53904974293e5b-2f4101f90ee3494c)
#13 TraitSelect(1ed16fe09dbace5-3b14393e81f122d5)
#14 evaluate_obligation(933304b9bf69f351-ab6b6da8258b8577)
#15 collect_return_position_impl_trait_in_trait_tys(lobbying_server[564e]::{impl#3}::resolve_field)
#16 type_of(lobbying_server[564e]::{impl#3}::{synthetic#0})
#17 check_well_formed(lobbying_server[564e]::{impl#3})
#18 check_mod_type_wf(lobbying_server[564e])
end of try_mark_green dep node stack[rustc-ice-2025-01-09T13_24_52-67690.txt](https://github.com/user-attachments/files/18362124/rustc-ice-2025-01-09T13_24_52-67690.txt)

```

</p>
</details>