Skip to content

[ICE]: broken MIR, […] Unsize coercion, but T1 isn't coercible to T2 #153989

@bnjbvr

Description

@bnjbvr

Code

Not minimized at the moment, sorry I don't really know how to do that, and likely I couldn't take the time :(

Try cargo check on https://github.com/bnjbvr/matrix-rust-sdk/tree/bnjbvr/broken-mior

Note there's also another compiler error related to the fact that C in the same file isn't Sync; marking it Sync fixes the compiler error and makes the ICE disappear.

Meta

rustc --version --verbose:

rustc 1.94.0 (4a4ef493e 2026-03-02)
binary: rustc
commit-hash: 4a4ef493e3a1488c6e321570238084b38948f6db
commit-date: 2026-03-02
host: x86_64-unknown-linux-gnu
release: 1.94.0
LLVM version: 21.1.8

Error output

error: internal compiler error: /rustc-dev/4a4ef493e3a1488c6e321570238084b38948f6db/compiler/rustc_mir_transform/src/validate.rs:81:25: broken MIR in Item(DefId(0:3868 ~ matrix_sdk[2a24]::event_cache::caches::pagination::{impl#1}::run_backwards_impl::{closure#0})) (after phase change to runtime-optimized) at bb28[0]:
                                Unsize coercion, but `std::pin::Pin<std::boxed::Box<{async block@crates/matrix-sdk/src/event_cache/caches/pagination.rs:139:69: 139:79}>>` isn't coercible to `std::pin::Pin<std::boxed::Box<dyn futures_core::Future<Output = std::result::Result<std::option::Option<event_cache::caches::pagination::BackPaginationOutcome>, event_cache::caches::pagination::SimplifiedPaginationError>> + std::marker::Send>>`
Full backtrace

error: internal compiler error: /rustc-dev/4a4ef493e3a1488c6e321570238084b38948f6db/compiler/rustc_mir_transform/src/validate.rs:81:25: broken MIR in Item(DefId(0:3868 ~ matrix_sdk[2a24]::event_cache::caches::pagination::{impl#1}::run_backwards_impl::{closure#0})) (after phase change to runtime-optimized) at bb28[0]:
                                Unsize coercion, but `std::pin::Pin<std::boxed::Box<{async block@crates/matrix-sdk/src/event_cache/caches/pagination.rs:139:69: 139:79}>>` isn't coercible to `std::pin::Pin<std::boxed::Box<dyn futures_core::Future<Output = std::result::Result<std::option::Option<event_cache::caches::pagination::BackPaginationOutcome>, event_cache::caches::pagination::SimplifiedPaginationError>> + std::marker::Send>>`
   --> crates/matrix-sdk/src/event_cache/caches/pagination.rs:139:60
    |
139 |           let fut: Pin<Box<dyn Future<Output = _> + Send>> = Box::pin(async move {
    |  ____________________________________________________________^
140 | |             match this
141 | |                 .paginate_backwards_impl(batch_size)
142 | |                 .await
...   |
160 | |         });
    | |__________^


thread 'rustc' (15179) panicked at /rustc-dev/4a4ef493e3a1488c6e321570238084b38948f6db/compiler/rustc_mir_transform/src/validate.rs:81:25:
Box<dyn Any>
stack backtrace:
   0:     0x7f799985c603 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
   1:     0x7f7999e0e488 - core::fmt::write::hed7b5c73d82ecb7c
   2:     0x7f799b2f8142 - std::io::Write::write_fmt::h6f0185aecf0ed75f
   3:     0x7f7999829b65 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
   4:     0x7f7999829993 - std::panicking::default_hook::hf0ea8939246f43a9
   5:     0x7f7998810aea - std[765ed69a96918746]::panicking::update_hook::<alloc[7a43974b6697a11c]::boxed::Box<rustc_driver_impl[252c3262fddb99f]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7f7999829e92 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
   7:     0x7f799884de01 - std[765ed69a96918746]::panicking::begin_panic::<rustc_errors[45351c624685c6c4]::ExplicitBug>::{closure#0}
   8:     0x7f799883e226 - std[765ed69a96918746]::sys::backtrace::__rust_end_short_backtrace::<std[765ed69a96918746]::panicking::begin_panic<rustc_errors[45351c624685c6c4]::ExplicitBug>::{closure#0}, !>
   9:     0x7f799883debf - std[765ed69a96918746]::panicking::begin_panic::<rustc_errors[45351c624685c6c4]::ExplicitBug>
  10:     0x7f799886bb41 - <rustc_errors[45351c624685c6c4]::diagnostic::BugAbort as rustc_errors[45351c624685c6c4]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:     0x7f7998dfe6bc - <rustc_errors[45351c624685c6c4]::DiagCtxtHandle>::span_bug::<rustc_span[56e001752d96add4]::span_encoding::Span, alloc[7a43974b6697a11c]::string::String>
  12:     0x7f7998e21246 - rustc_middle[f9db403ed88df217]::util::bug::opt_span_bug_fmt::<rustc_span[56e001752d96add4]::span_encoding::Span>::{closure#0}
  13:     0x7f7998e213f2 - rustc_middle[f9db403ed88df217]::ty::context::tls::with_opt::<rustc_middle[f9db403ed88df217]::util::bug::opt_span_bug_fmt<rustc_span[56e001752d96add4]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x7f7998e12a1b - rustc_middle[f9db403ed88df217]::ty::context::tls::with_context_opt::<rustc_middle[f9db403ed88df217]::ty::context::tls::with_opt<rustc_middle[f9db403ed88df217]::util::bug::opt_span_bug_fmt<rustc_span[56e001752d96add4]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x7f7996e70498 - rustc_middle[f9db403ed88df217]::util::bug::span_bug_fmt::<rustc_span[56e001752d96add4]::span_encoding::Span>
  16:     0x7f7997641595 - <rustc_mir_transform[cf8c24f93f85a18f]::validate::CfgChecker>::fail::<alloc[7a43974b6697a11c]::string::String>
  17:     0x7f799aa468ef - <rustc_mir_transform[cf8c24f93f85a18f]::validate::Validator as rustc_mir_transform[cf8c24f93f85a18f]::pass_manager::MirPass>::run_pass
  18:     0x7f7999e07638 - rustc_mir_transform[cf8c24f93f85a18f]::run_optimization_passes
  19:     0x7f799a19fed7 - rustc_mir_transform[cf8c24f93f85a18f]::optimized_mir
  20:     0x7f799a19faef - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 8usize]>>
  21:     0x7f799a1569ca - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefIdCache<rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  22:     0x7f7999f3b302 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::optimized_mir::get_query_incr::__rust_end_short_backtrace
  23:     0x7f799b09f0c1 - <rustc_middle[f9db403ed88df217]::ty::context::TyCtxt>::coroutine_layout
  24:     0x7f799a7bbc5f - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  25:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  26:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  27:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  28:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  29:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  30:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  31:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  32:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  33:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  34:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  35:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  36:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  37:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  38:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  39:     0x7f799a7b3440 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  40:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  41:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  42:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  43:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  44:     0x7f799a7ac854 - <rustc_middle[f9db403ed88df217]::ty::layout::LayoutCx as rustc_middle[f9db403ed88df217]::ty::layout::LayoutOf>::spanned_layout_of
  45:     0x7f799b2c3065 - <core[32850a7867c2faaf]::iter::adapters::GenericShunt<core[32850a7867c2faaf]::iter::adapters::by_ref_sized::ByRefSized<core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}>>, core[32850a7867c2faaf]::result::Result<core[32850a7867c2faaf]::convert::Infallible, &rustc_middle[f9db403ed88df217]::ty::layout::LayoutError>> as core[32850a7867c2faaf]::iter::traits::iterator::Iterator>::next
  46:     0x7f799b2c2f24 - core[32850a7867c2faaf]::iter::adapters::try_process::<core[32850a7867c2faaf]::iter::adapters::by_ref_sized::ByRefSized<core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}>>, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>, core[32850a7867c2faaf]::result::Result<core[32850a7867c2faaf]::convert::Infallible, &rustc_middle[f9db403ed88df217]::ty::layout::LayoutError>, <core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}> as core[32850a7867c2faaf]::iter::traits::iterator::Iterator>::try_collect<rustc_index[21367a1bd6d2e6b7]::vec::IndexVec<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedLocal, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>>>::{closure#0}, rustc_index[21367a1bd6d2e6b7]::vec::IndexVec<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedLocal, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>>>
  47:     0x7f799a7bbcb7 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  48:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  49:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  50:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  51:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  52:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  53:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  54:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  55:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  56:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  57:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  58:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  59:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  60:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  61:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  62:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  63:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  64:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  65:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  66:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  67:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  68:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  69:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  70:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  71:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  72:     0x7f799a7b2149 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  73:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  74:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  75:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  76:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  77:     0x7f799a7b3440 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  78:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  79:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  80:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  81:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  82:     0x7f799a7ac854 - <rustc_middle[f9db403ed88df217]::ty::layout::LayoutCx as rustc_middle[f9db403ed88df217]::ty::layout::LayoutOf>::spanned_layout_of
  83:     0x7f799b2c3065 - <core[32850a7867c2faaf]::iter::adapters::GenericShunt<core[32850a7867c2faaf]::iter::adapters::by_ref_sized::ByRefSized<core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}>>, core[32850a7867c2faaf]::result::Result<core[32850a7867c2faaf]::convert::Infallible, &rustc_middle[f9db403ed88df217]::ty::layout::LayoutError>> as core[32850a7867c2faaf]::iter::traits::iterator::Iterator>::next
  84:     0x7f799b2c2f24 - core[32850a7867c2faaf]::iter::adapters::try_process::<core[32850a7867c2faaf]::iter::adapters::by_ref_sized::ByRefSized<core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}>>, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>, core[32850a7867c2faaf]::result::Result<core[32850a7867c2faaf]::convert::Infallible, &rustc_middle[f9db403ed88df217]::ty::layout::LayoutError>, <core[32850a7867c2faaf]::iter::adapters::map::Map<core[32850a7867c2faaf]::slice::iter::Iter<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedTy>, rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached::{closure#12}> as core[32850a7867c2faaf]::iter::traits::iterator::Iterator>::try_collect<rustc_index[21367a1bd6d2e6b7]::vec::IndexVec<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedLocal, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>>>::{closure#0}, rustc_index[21367a1bd6d2e6b7]::vec::IndexVec<rustc_middle[f9db403ed88df217]::mir::query::CoroutineSavedLocal, rustc_abi[cf915a2556a07a52]::layout::ty::TyAndLayout<rustc_middle[f9db403ed88df217]::ty::Ty>>>
  85:     0x7f799a7bbcb7 - rustc_ty_utils[d645c04845482010]::layout::layout_of_uncached
  86:     0x7f799a7b0c89 - rustc_ty_utils[d645c04845482010]::layout::layout_of
  87:     0x7f799a7b0bea - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>
  88:     0x7f799a6268c4 - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::DefaultCache<rustc_middle[f9db403ed88df217]::ty::PseudoCanonicalInput<rustc_middle[f9db403ed88df217]::ty::Ty>, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  89:     0x7f799a6256d6 - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::layout_of::get_query_incr::__rust_end_short_backtrace
  90:     0x7f799ad2c8a5 - <rustc_middle[f9db403ed88df217]::ty::context::TyCtxt>::par_hir_body_owners::<rustc_interface[c6a26c9f392246cf]::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}
  91:     0x7f799ad298ca - rustc_interface[c6a26c9f392246cf]::passes::analysis
  92:     0x7f799ad28cf5 - rustc_query_impl[d9e05d596e7fb2e4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9e05d596e7fb2e4]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 0usize]>>
  93:     0x7f799b1874cf - rustc_query_system[5bf9c757c7651d1c]::query::plumbing::try_execute_query::<rustc_query_impl[d9e05d596e7fb2e4]::DynamicConfig<rustc_query_system[5bf9c757c7651d1c]::query::caches::SingleCache<rustc_middle[f9db403ed88df217]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[d9e05d596e7fb2e4]::plumbing::QueryCtxt, true>
  94:     0x7f799b186d7f - rustc_query_impl[d9e05d596e7fb2e4]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  95:     0x7f799b190111 - <rustc_interface[c6a26c9f392246cf]::passes::create_and_enter_global_ctxt<core[32850a7867c2faaf]::option::Option<rustc_interface[c6a26c9f392246cf]::queries::Linker>, rustc_driver_impl[252c3262fddb99f]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[32850a7867c2faaf]::ops::function::FnOnce<(&rustc_session[eab982bd009dcc5a]::session::Session, rustc_middle[f9db403ed88df217]::ty::context::CurrentGcx, alloc[7a43974b6697a11c]::sync::Arc<rustc_data_structures[721127a3047d6cb5]::jobserver::Proxy>, &std[765ed69a96918746]::sync::once_lock::OnceLock<rustc_middle[f9db403ed88df217]::ty::context::GlobalCtxt>, &rustc_data_structures[721127a3047d6cb5]::sync::worker_local::WorkerLocal<rustc_middle[f9db403ed88df217]::arena::Arena>, &rustc_data_structures[721127a3047d6cb5]::sync::worker_local::WorkerLocal<rustc_hir[41466cadac454391]::Arena>, rustc_driver_impl[252c3262fddb99f]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  96:     0x7f799af810b4 - rustc_interface[c6a26c9f392246cf]::interface::run_compiler::<(), rustc_driver_impl[252c3262fddb99f]::run_compiler::{closure#0}>::{closure#1}
  97:     0x7f799af29b7a - std[765ed69a96918746]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[c6a26c9f392246cf]::util::run_in_thread_with_globals<rustc_interface[c6a26c9f392246cf]::util::run_in_thread_pool_with_globals<rustc_interface[c6a26c9f392246cf]::interface::run_compiler<(), rustc_driver_impl[252c3262fddb99f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  98:     0x7f799af2993e - <std[765ed69a96918746]::thread::lifecycle::spawn_unchecked<rustc_interface[c6a26c9f392246cf]::util::run_in_thread_with_globals<rustc_interface[c6a26c9f392246cf]::util::run_in_thread_pool_with_globals<rustc_interface[c6a26c9f392246cf]::interface::run_compiler<(), rustc_driver_impl[252c3262fddb99f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[32850a7867c2faaf]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  99:     0x7f799af2b702 - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
 100:     0x7f7994aa597a - <unknown>
 101:     0x7f7994b292bc - <unknown>
 102:                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: rustc 1.94.0 (4a4ef493e 2026-03-02) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C linker=clang -C incremental=[REDACTED] -C strip=debuginfo -C link-arg=-fuse-ld=/usr/bin/mold

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [optimized_mir] optimizing MIR for `event_cache::caches::pagination::<impl at crates/matrix-sdk/src/event_cache/caches/pagination.rs:41:1: 43:48>::run_backwards_impl::{closure#0}`
#1 [layout_of] computing layout of `{async fn body of event_cache::caches::pagination::<impl at crates/matrix-sdk/src/event_cache/caches/pagination.rs:41:1: 43:48>::run_backwards_impl()}`
... and 12 other queries... use `env RUST_BACKTRACE=1` to see the full query stack

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.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions