Skip to content

ICE using very complex HRTB in impl syntax #134549

Closed as duplicate of#132882
Closed as duplicate of#132882
@ahicks92

Description

@ahicks92

Code

I do not have a minimal repro. This is the block I was working on:

    /// Convert the output of this chain into a different type.
    pub fn output_into<T>(
        self,
    ) -> Chain<
        impl IntoSignal<
            Signal = impl for<'a> Signal<
                Input<'a> = IntoSignalInput<'a, S>,
                Output<'a> = T,
                State = IntoSignalState<S>,
                Parameters = IntoSignalParameters<S>,
            >,
        >,
    >
    where
        for<'a> T: From<IntoSignalOutput<'a, S>>,
        for<'a> IntoSignalOutput<'a, S>: Clone,
    {
        Chain {
            inner: sigs::ConvertOutputConfig::<S, T>::new(self.inner),
        }
    }

I snapshotted the current working dir for you in branch ice on https://github.com/synthizer/synthizer-rust-rewrite

cargo check at the root of that workspace on Windows does it.

Sorry I can't do better. This is sort of an experiment as to how far the Rust trait system can be pushed to embed control flow graphs into the type system using continuation passing style. Or in other words until this week I've never used an HRTB outside a closure.

Meta

rustc --version --verbose:

rustc 1.83.0 (90b35a623 2024-11-26)
binary: rustc
commit-hash: 90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf
commit-date: 2024-11-26
host: x86_64-pc-windows-msvc
release: 1.83.0
LLVM version: 19.1.1

Error output

thread 'rustc' panicked at compiler\rustc_hir_typeck\src\op.rs:586:30:
called `Result::unwrap_err()` on an `Ok` value: MethodCallee { def_id: DefId(2:36795 ~ core[917b]::ops::arith::Div::div), args: [chain::Chain<Alias(Opaque, AliasTy { args: [S/#0, f64], 
def_id: DefId(0:202 ~ synthizer[5104]::chain::{impl#1}::output_into::{opaque#0}), .. })>, chain::Chain<Alias(Opaque, AliasTy { args: [f64, Alias(Projection, AliasTy { args: 
[Alias(Projection, AliasTy { args: [S/#0], def_id: DefId(0:285 ~ synthizer[5104]::core_traits::sealed::IntoSignal::Signal), .. }), '?6], def_id: DefId(0:253 ~ 
synthizer[5104]::core_traits::sealed::Signal::Input), .. })], def_id: DefId(0:188 ~ synthizer[5104]::chain::{impl#1}::discard_and_default::{opaque#0}), .. })>], sig: 
fn(chain::Chain<Alias(Opaque, AliasTy { args: [S/#0, f64], def_id: DefId(0:202 ~ synthizer[5104]::chain::{impl#1}::output_into::{opaque#0}), .. })>, chain::Chain<Alias(Opaque, AliasTy { 
args: [f64, Alias(Projection, AliasTy { args: [Alias(Projection, AliasTy { args: [S/#0], def_id: DefId(0:285 ~ synthizer[5104]::core_traits::sealed::IntoSignal::Signal), .. }), '?6], 
def_id: DefId(0:253 ~ synthizer[5104]::core_traits::sealed::Signal::Input), .. })], def_id: DefId(0:188 ~ synthizer[5104]::chain::{impl#1}::discard_and_default::{opaque#0}), .. })>) -> 
chain::Chain<chain_mathops::DivSigConfig<Alias(Opaque, AliasTy { args: [S/#0, f64], def_id: DefId(0:202 ~ synthizer[5104]::chain::{impl#1}::output_into::{opaque#0}), .. }), Alias(Opaque, 
AliasTy { args: [f64, Alias(Projection, AliasTy { args: [Alias(Projection, AliasTy { args: [S/#0], def_id: DefId(0:285 ~ synthizer[5104]::core_traits::sealed::IntoSignal::Signal), .. }), 
'?6], def_id: DefId(0:253 ~ synthizer[5104]::core_traits::sealed::Signal::Input), .. })], def_id: DefId(0:188 ~ synthizer[5104]::chain::{impl#1}::discard_and_default::{opaque#0}), .. })>> 
}
stack backtrace:
   0:     0x7ffe26390941 - std::backtrace_rs::backtrace::dbghelp64::trace
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91
   1:     0x7ffe26390941 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ffe26390941 - std::sys::backtrace::_print_fmt
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\backtrace.rs:66
   3:     0x7ffe26390941 - std::sys::backtrace::impl$0::print::impl$0::fmt
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\backtrace.rs:39
   4:     0x7ffe263c71ba - core::fmt::rt::Argument::fmt
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\fmt\rt.rs:177
   5:     0x7ffe263c71ba - core::fmt::write
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\fmt\mod.rs:1186
   6:     0x7ffe26386c87 - std::io::Write::write_fmt<std::sys::pal::windows::stdio::Stderr>
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\io\mod.rs:1839
   7:     0x7ffe26390785 - std::sys::backtrace::BacktraceLock::print
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\backtrace.rs:42
   8:     0x7ffe26393625 - std::panicking::default_hook::closure$1
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:268
   9:     0x7ffe26393405 - std::panicking::default_hook
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:295
  10:     0x7ffe278ebe90 - strncpy
  11:     0x7ffe26393d62 - alloc::boxed::impl$50::call
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/alloc\src\boxed.rs:2468
  12:     0x7ffe26393d62 - std::panicking::rust_panic_with_hook
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:809
  13:     0x7ffe26393ba9 - std::panicking::begin_panic_handler::closure$0
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:674
  14:     0x7ffe263913ff - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\backtrace.rs:170
  15:     0x7ffe263937ae - std::panicking::begin_panic_handler
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:665
  16:     0x7ffe292693e1 - core::panicking::panic_fmt
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\panicking.rs:74
  17:     0x7ffe29269920 - core::result::unwrap_failed
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\result.rs:1700
  18:     0x7ffe265cb472 - rustc_hir_typeck[d2d155a0d8822881]::method::probe::method_autoderef_steps
  19:     0x7ffe2653dddd - <<rustc_hir_typeck[d2d155a0d8822881]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as 
rustc_type_ir[1e171271606a18fd]::visit::TypeVisitor<rustc_middle[96162ff2046a4b9]::ty::context::TyCtxt>>::visit_ty
  20:     0x7ffe2659a9f8 - <<rustc_hir_typeck[d2d155a0d8822881]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as 
rustc_type_ir[1e171271606a18fd]::visit::TypeVisitor<rustc_middle[96162ff2046a4b9]::ty::context::TyCtxt>>::visit_ty
  21:     0x7ffe2659ca39 - <<rustc_hir_typeck[d2d155a0d8822881]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as 
rustc_type_ir[1e171271606a18fd]::visit::TypeVisitor<rustc_middle[96162ff2046a4b9]::ty::context::TyCtxt>>::visit_ty
  22:     0x7ffe2653d06e - <<rustc_hir_typeck[d2d155a0d8822881]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as 
rustc_type_ir[1e171271606a18fd]::visit::TypeVisitor<rustc_middle[96162ff2046a4b9]::ty::context::TyCtxt>>::visit_ty
  23:     0x7ffe265fe98b - rustc_hir_typeck[d2d155a0d8822881]::typeck
  24:     0x7ffe265eefd4 - rustc_hir_typeck[d2d155a0d8822881]::typeck
  25:     0x7ffe270d4b0b - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  26:     0x7ffe2701fc4e - rustc_ty_utils[a2a1d1eb932b05d6]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  27:     0x7ffe270dd404 - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  28:     0x7ffe25cbb3b3 - rustc_hir_analysis[9d1098b82b4308ea]::collect::type_of::type_of_opaque
  29:     0x7ffe25ff183b - rustc_ty_utils[a2a1d1eb932b05d6]::ty::adt_sized_constraint
  30:     0x7ffe26fddf0d - rustc_ty_utils[a2a1d1eb932b05d6]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  31:     0x7ffe25ffc7c5 - rustc_query_impl[35a48204c8651e1b]::query_system
  32:     0x7ffe266c9e1b - rustc_hir_analysis[9d1098b82b4308ea]::collect::type_of::type_of
  33:     0x7ffe270d4b40 - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  34:     0x7ffe26fddf0d - rustc_ty_utils[a2a1d1eb932b05d6]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  35:     0x7ffe270d62c6 - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  36:     0x7ffe26674ab6 - rustc_hir_analysis[9d1098b82b4308ea]::check::check::check_abi
  37:     0x7ffe2669dc60 - rustc_hir_analysis[9d1098b82b4308ea]::check::wfcheck::check_well_formed
  38:     0x7ffe270d390b - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  39:     0x7ffe2701c41c - rustc_ty_utils[a2a1d1eb932b05d6]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  40:     0x7ffe270e3f41 - rustc_query_impl[35a48204c8651e1b]::plumbing::query_key_hash_verify_all
  41:     0x7ffe266aaa1a - rustc_hir_analysis[9d1098b82b4308ea]::check::wfcheck::check_mod_type_wf
  42:     0x7ffe25ff247b - rustc_ty_utils[a2a1d1eb932b05d6]::ty::adt_sized_constraint
  43:     0x7ffe25f82011 - rustc_ty_utils[a2a1d1eb932b05d6]::ty::adt_sized_constraint
  44:     0x7ffe26007b7e - rustc_query_impl[35a48204c8651e1b]::query_system
  45:     0x7ffe266dec6e - rustc_hir_analysis[9d1098b82b4308ea]::check_crate
  46:     0x7ffe264087a1 - rustc_interface[2eec0b40419c24dd]::passes::resolver_for_lowering_raw
  47:     0x7ffe233f7db0 - rustc_interface[2eec0b40419c24dd]::passes::analysis
  48:     0x7ffe25ff46cb - rustc_ty_utils[a2a1d1eb932b05d6]::ty::adt_sized_constraint
  49:     0x7ffe25f64b8c - rustc_ty_utils[a2a1d1eb932b05d6]::ty::adt_sized_constraint
  50:     0x7ffe25ffd353 - rustc_query_impl[35a48204c8651e1b]::query_system
  51:     0x7ffe233b6c09 - _rust_alloc_error_handler
  52:     0x7ffe233b2856 - _rust_alloc_error_handler
  53:     0x7ffe233bc508 - _rust_alloc_error_handler
  54:     0x7ffe263a55bd - alloc::boxed::impl$48::call_once
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/alloc\src\boxed.rs:2454
  55:     0x7ffe263a55bd - alloc::boxed::impl$48::call_once
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/alloc\src\boxed.rs:2454
  56:     0x7ffe263a55bd - std::sys::pal::windows::thread::impl$0::new::thread_start
                               at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\pal\windows\thread.rs:55
  57:     0x7ffed1a57374 - BaseThreadInitThunk
  58:     0x7ffed1cdcc91 - RtlUserThreadStart

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.83.0 (90b35a623 2024-11-26) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C panic=abort -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 [typeck] type-checking `chain::<impl at crates\synthizer\src\chain.rs:71:1: 71:29>::divide_by_sr`
#1 [type_of_opaque] computing type of opaque `chain::<impl at crates\synthizer\src\chain.rs:71:1: 71:29>::divide_by_sr::{opaque#0}`
end of query stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: this path really should be doomed...
   --> crates\synthizer\src\chain.rs:143:30
    |
143 |         let done = converted / sr;
    |                              ^
    |
note: delayed at compiler\rustc_hir_typeck\src\op.rs:924:28 - disabled backtrace
   --> crates\synthizer\src\chain.rs:143:30
    |
143 |         let done = converted / sr;
    |                              ^

error: internal compiler error: {OpaqueTypeKey { def_id: DefId(0:195 ~ synthizer[5104]::chain::{impl#1}::divide_by_sr::{opaque#0}), args: [S/#0] }: OpaqueTypeDecl { hidden_type: 
OpaqueHiddenType { span: crates\synthizer\src\chain.rs:132:9: 134:10 (#705), ty: ?0t } }}
  |
  = note: delayed at compiler\rustc_infer\src\infer\opaque_types\table.rs:44:43 - disabled backtrace

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.83.0 (90b35a623 2024-11-26) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C panic=abort -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:
end of query stack
error: could not compile `synthizer` (lib)

Caused by:
  process didn't exit successfully: `C:/Users/Austin/.cargo/bin/sccache.exe C:\Users\Austin\.rustup\toolchains\1.83-x86_64-pc-windows-msvc\bin\rustc.exe --crate-name synthizer 
--edition=2021 crates\synthizer\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C panic=abort -C 
embed-bitcode=no -C debuginfo=2 --check-cfg cfg(docsrs) --check-cfg "cfg(feature, values())" -C metadata=ee6c128a94c8d8db -C extra-filename=-ee6c128a94c8d8db --out-dir 
C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps -C incremental=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\incremental -L 
dependency=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps --extern ahash=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libahash-43ca0a0cad9fb5cc.rmeta 
--extern arc_swap=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libarc_swap-35e7618bd6bb40de.rmeta --extern 
arrayvec=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libarrayvec-230010297daf85b3.rmeta --extern 
atomic_refcell=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libatomic_refcell-8c488b90795e2730.rmeta --extern 
audio_synchronization=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libaudio_synchronization-9d811e1b8d5571f2.rmeta --extern 
crossbeam=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libcrossbeam-2698c255467cd416.rmeta --extern 
dashmap=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libdashmap-881d3493f01bb784.rmeta --extern 
derivative=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\derivative-2de790e7cc9568a5.dll --extern 
derive_more=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\derive_more-766145bbfdabdbf3.dll --extern 
enum_dispatch=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\enum_dispatch-347ae530870046d6.dll --extern 
im=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libim-50d96656588efe85.rmeta --extern 
lazy_static=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\liblazy_static-99a236c518c1ae94.rmeta --extern 
log=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\liblog-27656873ebc3a70e.rmeta --extern 
num=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libnum-ed0e5d0e17152f45.rmeta --extern 
paste=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\paste-444fdbd13d708d1e.dll --extern 
rand=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\librand-5f5e39b7ce69d901.rmeta --extern 
rand_xoshiro=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\librand_xoshiro-7453ce227dbaea8a.rmeta --extern 
rayon=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\librayon-b0e5c13cd67ceb2b.rmeta --extern 
rpds=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\librpds-2447e052cd2ae9d0.rmeta --extern 
rubato=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\librubato-5de0e355e73feef1.rmeta --extern 
sharded_slab=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libsharded_slab-04da1cc27c6973cf.rmeta --extern 
smallvec=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libsmallvec-1e00c2106435c618.rmeta --extern 
spin=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libspin-e9397c6c24c19035.rmeta --extern 
symphonia=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libsymphonia-53568fd854e822c6.rmeta --extern 
synthizer_miniaudio=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libsynthizer_miniaudio-e6834a12606956ee.rmeta --extern 
thingbuf=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libthingbuf-6c129fc05f87152c.rmeta --extern 
thiserror=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\deps\libthiserror-c6ca35a7612d3d8a.rmeta -L 
native=C:\Users\Austin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\windows_x86_64_msvc-0.48.5\lib -L "native=C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\MSVC\14.33.31629\atlmfc\lib\x64" -L native=C:\projects\in_progress\synthizer-rust-rewrite\target\debug\build\synthizer_miniaudio-49f13e17b07a5b93\out` (exit 
code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)
Backtrace

stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\panicking.rs:665
   1: core::panicking::panic_fmt
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\panicking.rs:74
   2: core::result::unwrap_failed
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/core\src\result.rs:1700
   3: rustc_hir_typeck::method::probe::method_autoderef_steps
   4: <<rustc_hir_typeck::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   5: <<rustc_hir_typeck::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   6: <<rustc_hir_typeck::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   7: <<rustc_hir_typeck::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   8: rustc_hir_typeck::typeck
   9: rustc_hir_typeck::typeck
  10: rustc_query_impl::plumbing::query_key_hash_verify_all
  11: rustc_ty_utils::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  12: rustc_query_impl::plumbing::query_key_hash_verify_all
  13: rustc_hir_analysis::collect::type_of::type_of_opaque
  14: rustc_ty_utils::ty::adt_sized_constraint
  15: rustc_ty_utils::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  16: rustc_query_impl::query_system
  17: rustc_hir_analysis::collect::type_of::type_of
  18: rustc_query_impl::plumbing::query_key_hash_verify_all
  19: rustc_ty_utils::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  20: rustc_query_impl::plumbing::query_key_hash_verify_all
  21: rustc_hir_analysis::check::check::check_abi
  22: rustc_hir_analysis::check::wfcheck::check_well_formed
  23: rustc_query_impl::plumbing::query_key_hash_verify_all
  24: rustc_ty_utils::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
  25: rustc_query_impl::plumbing::query_key_hash_verify_all
  26: rustc_hir_analysis::check::wfcheck::check_mod_type_wf
  27: rustc_ty_utils::ty::adt_sized_constraint
  28: rustc_ty_utils::ty::adt_sized_constraint
  29: rustc_query_impl::query_system
  30: rustc_hir_analysis::check_crate
  31: rustc_interface::passes::resolver_for_lowering_raw
  32: rustc_interface::passes::analysis
  33: rustc_ty_utils::ty::adt_sized_constraint
  34: rustc_ty_utils::ty::adt_sized_constraint
  35: rustc_query_impl::query_system
  36: _rust_alloc_error_handler
  37: _rust_alloc_error_handler
  38: _rust_alloc_error_handler
  39: alloc::boxed::impl$48::call_once
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/alloc\src\boxed.rs:2454
  40: alloc::boxed::impl$48::call_once
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/alloc\src\boxed.rs:2454
  41: std::sys::pal::windows::thread::impl$0::new::thread_start
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library/std\src\sys\pal\windows\thread.rs:55
  42: BaseThreadInitThunk
  43: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions