Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions