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
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 checkon https://github.com/bnjbvr/matrix-rust-sdk/tree/bnjbvr/broken-miorNote there's also another compiler error related to the fact that
Cin the same file isn'tSync; marking itSyncfixes the compiler error and makes the ICE disappear.Meta
rustc --version --verbose:Error output
Full backtrace