rust-lang / rustc_codegen_cranelift

Cranelift based backend for rustc
Apache License 2.0
1.52k stars 94 forks source link

ICE: dyn star: None in src/vtable.rs:66:19 #1324

Closed matthiaskrgr closed 1 year ago

matthiaskrgr commented 1 year ago

src/test/ui/dyn-star/dispatch-on-pin-mut.rs rustc dispatch-on-pin-mut.rs -Zunstable-options --edition=2021 -Zcodegen-backend=cranelift

// run-pass
// edition:2021
// check-run-results

#![feature(dyn_star)]
//~^ WARN the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes

use std::future::Future;

async fn foo(f: dyn* Future<Output = i32>) {
    println!("value: {}", f.await);
}

async fn async_main() {
    foo(Box::pin(async { 1 })).await
}

// ------------------------------------------------------------------------- //
// Implementation Details Below...

use std::pin::Pin;
use std::task::*;

pub fn noop_waker() -> Waker {
    let raw = RawWaker::new(std::ptr::null(), &NOOP_WAKER_VTABLE);

    // SAFETY: the contracts for RawWaker and RawWakerVTable are upheld
    unsafe { Waker::from_raw(raw) }
}

const NOOP_WAKER_VTABLE: RawWakerVTable = RawWakerVTable::new(noop_clone, noop, noop, noop);

unsafe fn noop_clone(_p: *const ()) -> RawWaker {
    RawWaker::new(std::ptr::null(), &NOOP_WAKER_VTABLE)
}

unsafe fn noop(_p: *const ()) {}

fn main() {
    let mut fut = async_main();

    // Poll loop, just to test the future...
    let waker = noop_waker();
    let ctx = &mut Context::from_waker(&waker);

    loop {
        match unsafe { Pin::new_unchecked(&mut fut).poll(ctx) } {
            Poll::Pending => {}
            Poll::Ready(()) => break,
        }
    }
}
warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
 --> /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:5:12
  |
5 | #![feature(dyn_star)]
  |            ^^^^^^^^
  |
  = note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/vtable.rs:66:19
stack backtrace:
   0:     0x7fb1aa36a3a4 - std::backtrace_rs::backtrace::libunwind::trace::h4c97bf25d2e51ae8
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fb1aa36a3a4 - std::backtrace_rs::backtrace::trace_unsynchronized::h37aa0c666953359e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb1aa36a3a4 - std::sys_common::backtrace::_print_fmt::hda9969f991ffe421
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fb1aa36a3a4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h43dbafa239606d9e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fb1aa3e49b8 - core::fmt::write::hd8b1d49ea978e1a7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1208:17
   5:     0x7fb1aa336c9f - std::io::Write::write_fmt::h910d70db5835b5b3
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1682:15
   6:     0x7fb1aa36a1a5 - std::sys_common::backtrace::_print::hba0af3cc8e4f9e16
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fb1aa36a1a5 - std::sys_common::backtrace::print::hcb425016d7f50579
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fb1aa348cb4 - std::panicking::default_hook::{{closure}}::h5a92231480ffed71
   9:     0x7fb1aa3489c2 - std::panicking::default_hook::h6128a4fdcff47458
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:286:9
  10:     0x7fb1abf3b2d2 - <alloc[8442e47aebcde8b2]::boxed::Box<dyn for<'a, 'b> core[a28e3aee1dd4a69e]::ops::function::Fn<(&'a core[a28e3aee1dd4a69e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[a28e3aee1dd4a69e]::marker::Sync + core[a28e3aee1dd4a69e]::marker::Send> as core[a28e3aee1dd4a69e]::ops::function::Fn<(&core[a28e3aee1dd4a69e]::panic::panic_info::PanicInfo,)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  11:     0x7fb1abf3b2d2 - rustc_driver[3e78653f339d986d]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:1202:13
  12:     0x7fb1aa349417 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haf9ff6e68c2e05a7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  13:     0x7fb1aa349417 - std::panicking::rust_panic_with_hook::h0207dd496e646917
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:692:13
  14:     0x7fb1aa36a6f2 - std::panicking::begin_panic_handler::{{closure}}::h4f3167dde486c20a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:577:13
  15:     0x7fb1aa36a4ee - std::sys_common::backtrace::__rust_end_short_backtrace::h5667162f671b6d90
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:137:18
  16:     0x7fb1aa348ef2 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:575:5
  17:     0x7fb1aa3e9083 - core::panicking::panic_fmt::h90dee617596c399d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:64:14
  18:     0x7fb1aa3e915d - core::panicking::panic::hdd7e78475dcf3ad1
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:111:5
  19:     0x7fb19f9a3137 - rustc_codegen_cranelift[e80a840dcfedcc0]::vtable::get_ptr_and_method_ref
  20:     0x7fb19f92a95d - rustc_codegen_cranelift[e80a840dcfedcc0]::abi::codegen_terminator_call
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/abi/mod.rs:473:33
  21:     0x7fb19f898b47 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:434:21
  22:     0x7fb19f898b47 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  23:     0x7fb19f898b47 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  24:     0x7fb19f9612b8 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:433:17
  25:     0x7fb19f95f077 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:116:41
  26:     0x7fb19f95f077 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  27:     0x7fb19f95f077 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  28:     0x7fb19f95f077 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:116:5
  29:     0x7fb19f897e29 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:294:50
  30:     0x7fb19f897e29 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  31:     0x7fb19f897e29 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  32:     0x7fb19f897e29 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:293:21
  33:     0x7fb19f897e29 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(alloc[8442e47aebcde8b2]::string::String, rustc_codegen_cranelift[e80a840dcfedcc0]::CodegenCx, cranelift_object[c5896af7f33dfa77]::backend::ObjectModule, alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::base::CodegenedFunction>), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  34:     0x7fb19f897e29 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(alloc[8442e47aebcde8b2]::string::String, rustc_codegen_cranelift[e80a840dcfedcc0]::CodegenCx, cranelift_object[c5896af7f33dfa77]::backend::ObjectModule, alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::base::CodegenedFunction>), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  35:     0x7fb19f980069 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:275:63
  36:     0x7fb19f8e41a6 - <rustc_query_system[ac6d26d16f7ebea6]::dep_graph::graph::DepGraph<rustc_middle[e9b4372b5e8bc47d]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[e9b4372b5e8bc47d]::ty::context::TyCtxt, (rustc_codegen_cranelift[e80a840dcfedcc0]::config::BackendConfig, alloc[8442e47aebcde8b2]::sync::Arc<rustc_codegen_cranelift[e80a840dcfedcc0]::global_asm::GlobalAsmConfig>, rustc_span[8293014313a13715]::symbol::Symbol, rustc_codegen_cranelift[e80a840dcfedcc0]::concurrency_limiter::ConcurrencyLimiterToken), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/dep_graph/graph.rs:296:14
  37:     0x7fb19f8fb2cd - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:391:25
  38:     0x7fb19f8fb2cd - core[a28e3aee1dd4a69e]::iter::adapters::map::map_fold::<&rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, (), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/map.rs:84:28
  39:     0x7fb19f8fb2cd - <core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::fold::<(), core[a28e3aee1dd4a69e]::iter::adapters::map::map_fold<&rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, (), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2415:21
  40:     0x7fb19f8fb2cd - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::fold::<(), core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/map.rs:124:9
  41:     0x7fb19f8c3ecc - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::for_each::<<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:831:9
  42:     0x7fb19f8c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted::<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2880:17
  43:     0x7fb19f8c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_extend::SpecExtend<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::spec_extend
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_extend.rs:26:9
  44:     0x7fb19f8c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_from_iter_nested::SpecFromIterNested<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::from_iter
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_from_iter_nested.rs:62:9
  45:     0x7fb19f8c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_from_iter::SpecFromIter<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::from_iter
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_from_iter.rs:33:9
  46:     0x7fb19f90580e - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as core[a28e3aee1dd4a69e]::iter::traits::collect::FromIterator<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::from_iter::<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2748:9
  47:     0x7fb19f90580e - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::collect::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:1837:9
  48:     0x7fb19f90580e - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:379:9
  49:     0x7fb19f90580e - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  50:     0x7fb19f90580e - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  51:     0x7fb19f90580e - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::time::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/mod.rs:53:9
  52:     0x7fb19f9890bf - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:378:19
  53:     0x7fb19f9890bf - <rustc_codegen_cranelift[e80a840dcfedcc0]::CraneliftCodegenBackend as rustc_codegen_ssa[4d2a5970bef1319e]::traits::backend::CodegenBackend>::codegen_crate
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/lib.rs:205:33
  54:     0x7fb1ac16124a - rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:989:9
  55:     0x7fb1ac16124a - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  56:     0x7fb1ac16124a - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  57:     0x7fb1ac16124a - rustc_interface[fc7473b58ef44fbd]::passes::start_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:988:19
  58:     0x7fb1ac1600eb - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:253:20
  59:     0x7fb1ac1600eb - <rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:765:42
  60:     0x7fb1ac1600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context::<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1980:50
  61:     0x7fb1ac1600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::set_tlv::<rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1964:9
  62:     0x7fb1ac1600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context::<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1980:9
  63:     0x7fb1ac1600eb - <rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:765:9
  64:     0x7fb1ac1f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:240:13
  65:     0x7fb1ac1f4fea - <core[a28e3aee1dd4a69e]::option::Option<core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>>::get_or_insert_with::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/option.rs:1590:49
  66:     0x7fb1ac1f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Query<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>>>::compute::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:38:9
  67:     0x7fb1ac1f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:239:9
  68:     0x7fb1abfcbb83 - rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:395:13
  69:     0x7fb1abfcbb83 - <rustc_interface[fc7473b58ef44fbd]::interface::Compiler>::enter::<rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}::{closure#2}, core[a28e3aee1dd4a69e]::result::Result<core[a28e3aee1dd4a69e]::option::Option<rustc_interface[fc7473b58ef44fbd]::queries::Linker>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:380:19
  70:     0x7fb1abf3cf52 - rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:306:22
  71:     0x7fb1abf3cf52 - rustc_interface[fc7473b58ef44fbd]::interface::run_compiler::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:327:21
  72:     0x7fb1abf3cf52 - rustc_span[8293014313a13715]::with_source_map::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:1016:5
  73:     0x7fb1abfbad9f - rustc_interface[fc7473b58ef44fbd]::interface::run_compiler::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:321:13
  74:     0x7fb1abfbad9f - <scoped_tls[b7a439aa38053655]::ScopedKey<rustc_span[8293014313a13715]::SessionGlobals>>::set::<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
  75:     0x7fb1abf6b5c0 - rustc_span[8293014313a13715]::create_session_globals_then::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:111:5
  76:     0x7fb1abf6b5c0 - rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals::<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:145:38
  77:     0x7fb1abf6b5c0 - std[898f9bf6a8d0f504]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:121:18
  78:     0x7fb1abf53d11 - <std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:550:17
  79:     0x7fb1abf53d11 - <core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[a28e3aee1dd4a69e]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:271:9
  80:     0x7fb1abf53d11 - std[898f9bf6a8d0f504]::panicking::try::do_call::<core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:483:40
  81:     0x7fb1abf53d11 - std[898f9bf6a8d0f504]::panicking::try::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:447:19
  82:     0x7fb1abf53d11 - std[898f9bf6a8d0f504]::panic::catch_unwind::<core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:137:14
  83:     0x7fb1abf53d11 - <std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:549:30
  84:     0x7fb1abf53d11 - <<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1} as core[a28e3aee1dd4a69e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:507:5
  85:     0x7fb1aa325a48 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbd90f1d7134662bc
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2000:9
  86:     0x7fb1aa325a48 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1ec077bbd6166474
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2000:9
  87:     0x7fb1aa3143b5 - std::sys::unix::thread::Thread::new::thread_start::h357b5324080a198e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/unix/thread.rs:108:17
  88:     0x7fb1aa49f8fd - <unknown>
  89:     0x7fb1aa521a60 - <unknown>
  90:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: 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.68.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z codegen-backend=cranelift -Z unstable-options

query stack during panic:
end of query stack
fn foo::{closure#0}(_1: std::pin::Pin<&mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]>, _2: &mut std::task::Context<'_>) -> std::task::Poll<()> {
    debug _task_context => _29;          // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    debug f => ((*(_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2])).0: dyn* std::future::Future<Output = i32>); // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:14: 10:15
    let mut _0: std::task::Poll<()>;     // return place in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let _3: dyn* std::future::Future<Output = i32>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:14: 10:15
    let _4: ();                          // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:9: 136:62
    let mut _5: std::fmt::Arguments<'_>; // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
    let mut _6: &[&str; 2];              // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
    let _7: &[&str; 2];                  // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
    let mut _8: &[std::fmt::ArgumentV1<'_>]; // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
    let mut _9: &[std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
    let _10: &[std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
    let _11: [std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
    let mut _12: std::fmt::ArgumentV1<'_>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
    let mut _13: &i32;                   // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
    let _14: &i32;                       // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
    let _15: i32;                        // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
    let mut _16: dyn* std::future::Future<Output = i32>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _17: dyn* std::future::Future<Output = i32>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:28
    let mut _18: std::task::Poll<i32>;   // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _19: std::pin::Pin<&mut dyn* std::future::Future<Output = i32>>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _20: &mut dyn* std::future::Future<Output = i32>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _21: &mut dyn* std::future::Future<Output = i32>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _22: &mut std::task::Context<'_>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _23: isize;                  // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _25: &mut std::task::Context<'_>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _26: &mut std::task::Context<'_>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    let mut _28: ();                     // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _29: &mut std::task::Context<'_>; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _30: u32;                    // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _31: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _32: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _33: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _34: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _35: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _36: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _37: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _38: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _39: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _40: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    let mut _41: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    scope 1 {
        debug f => _3;                   // in scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:14: 10:15
        let mut _27: &[&str; 2];         // in scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
        scope 2 {
            debug __awaitee => (((*(_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2])) as variant#3).1: dyn* std::future::Future<Output = i32>); // in scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
            let _24: i32;                // in scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
            scope 3 {
            }
            scope 4 {
                debug result => _24;     // in scope 4 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
            }
        }
    }

    bb0: {
        _31 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        _30 = discriminant((*_31));      // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        switchInt(move _30) -> [0: bb1, 1: bb17, 2: bb16, 3: bb15, otherwise: bb18]; // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    }

    bb1: {
        _29 = move _2;                   // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        _32 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:14: 10:15
        _3 = move ((*_32).0: dyn* std::future::Future<Output = i32>); // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:14: 10:15
        _27 = const _;                   // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
                                         // + literal: Const { ty: &[&str; 2], val: Unevaluated(foo::{closure#0}, [<resume_ty>, <yield_ty>, <return_ty>, <witness>, <upvars>], Some(promoted[0])) }
        _7 = _27;                        // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
        _6 = _7;                         // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
        _33 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
        (((*_33) as variant#3).0: &[&str]) = move _6 as &[&str] (Pointer(Unsize)); // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:14: 11:25
        _17 = move _3;                   // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:28
        _16 = <dyn* std::future::Future<Output = i32> as std::future::IntoFuture>::into_future(move _17) -> [return: bb2, unwind: bb14]; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // + literal: Const { ty: fn(dyn* std::future::Future<Output = i32>) -> <dyn* std::future::Future<Output = i32> as std::future::IntoFuture>::IntoFuture {<dyn* std::future::Future<Output = i32> as std::future::IntoFuture>::into_future}, val: Value(<ZST>) }
    }

    bb2: {
        _34 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        (((*_34) as variant#3).1: dyn* std::future::Future<Output = i32>) = move _16; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        goto -> bb3;                     // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    }

    bb3: {
        _35 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _21 = &mut (((*_35) as variant#3).1: dyn* std::future::Future<Output = i32>); // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _20 = &mut (*_21);               // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _19 = std::pin::Pin::<&mut dyn* std::future::Future<Output = i32>>::new_unchecked(move _20) -> [return: bb4, unwind: bb13]; // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // + literal: Const { ty: unsafe fn(&mut dyn* std::future::Future<Output = i32>) -> std::pin::Pin<&mut dyn* std::future::Future<Output = i32>> {std::pin::Pin::<&mut dyn* std::future::Future<Output = i32>>::new_unchecked}, val: Value(<ZST>) }
    }

    bb4: {
        _22 = &mut (*_29);               // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _18 = <dyn* std::future::Future<Output = i32> as std::future::Future>::poll(move _19, move _22) -> [return: bb5, unwind: bb13]; // scope 3 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
                                         // + literal: Const { ty: for<'a, 'b, 'c> fn(std::pin::Pin<&'a mut dyn* std::future::Future<Output = i32>>, &'b mut std::task::Context<'c>) -> std::task::Poll<<dyn* std::future::Future<Output = i32> as std::future::Future>::Output> {<dyn* std::future::Future<Output = i32> as std::future::Future>::poll}, val: Value(<ZST>) }
    }

    bb5: {
        _23 = discriminant(_18);         // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        switchInt(move _23) -> [0: bb8, 1: bb6, otherwise: bb7]; // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    }

    bb6: {
        Deinit(_0);                      // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        discriminant(_0) = 1;            // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _36 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        discriminant((*_36)) = 3;        // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        return;                          // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    }

    bb7: {
        unreachable;                     // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    }

    bb8: {
        _24 = ((_18 as Ready).0: i32);   // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
        _15 = _24;                       // scope 4 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
        _37 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:33: 11:34
        drop((((*_37) as variant#3).1: dyn* std::future::Future<Output = i32>)) -> [return: bb9, unwind: bb14]; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:33: 11:34
    }

    bb9: {
        _14 = &_15;                      // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
        _13 = _14;                       // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
        _12 = std::fmt::ArgumentV1::<'_>::new_display::<i32>(move _13) -> [return: bb10, unwind: bb14]; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:27: 11:34
                                         // + user_ty: UserType(1)
                                         // + literal: Const { ty: for<'b> fn(&'b i32) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::<'_>::new_display::<i32>}, val: Value(<ZST>) }
    }

    bb10: {
        _11 = [move _12];                // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
        _10 = &_11;                      // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
        _9 = _10;                        // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
        _8 = move _9 as &[std::fmt::ArgumentV1<'_>] (Pointer(Unsize)); // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
        _38 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
        _5 = std::fmt::Arguments::<'_>::new_v1(move (((*_38) as variant#3).0: &[&str]), move _8) -> [return: bb11, unwind: bb14]; // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:28: 136:61
                                         // + user_ty: UserType(0)
                                         // + literal: Const { ty: fn(&[&'static str], &[std::fmt::ArgumentV1<'_>]) -> std::fmt::Arguments<'_> {std::fmt::Arguments::<'_>::new_v1}, val: Value(<ZST>) }
    }

    bb11: {
        _4 = std::io::_print(move _5) -> [return: bb12, unwind: bb14]; // scope 1 at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:9: 136:62
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust_debug_assertions/library/std/src/macros.rs:136:9: 136:27
                                         // + literal: Const { ty: for<'a> fn(std::fmt::Arguments<'a>) {std::io::_print}, val: Value(<ZST>) }
    }

    bb12: {
        _28 = const ();                  // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        Deinit(_0);                      // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
        ((_0 as Ready).0: ()) = move _28; // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
        discriminant(_0) = 0;            // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
        _39 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
        discriminant((*_39)) = 1;        // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
        return;                          // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:12:2: 12:2
    }

    bb13 (cleanup): {
        _40 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:33: 11:34
        drop((((*_40) as variant#3).1: dyn* std::future::Future<Output = i32>)) -> bb14; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:33: 11:34
    }

    bb14 (cleanup): {
        _41 = deref_copy (_1.0: &mut [async fn body@/home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2]); // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        discriminant((*_41)) = 2;        // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        resume;                          // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    }

    bb15: {
        _26 = move _2;                   // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
        _25 = &mut (*_26);               // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        _29 = move _25;                  // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
        goto -> bb3;                     // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:11:28: 11:34
    }

    bb16: {
        assert(const false, "`async fn` resumed after panicking") -> bb16; // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    }

    bb17: {
        assert(const false, "`async fn` resumed after completion") -> bb17; // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    }

    bb18: {
        unreachable;                     // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/dyn-star/dispatch-on-pin-mut.rs:10:44: 12:2
    }
}

warning: 1 warning emitted
bjorn3 commented 1 year ago

This test is ignored for a reason :) https://github.com/bjorn3/rustc_codegen_cranelift/blob/1c724ee6d0e1023a5cd9b8b5c0bf324b45d429c5/scripts/test_rustc_tests.sh#L111 Probably a good thing to have an issue open for it though.

matthiaskrgr commented 1 year ago

ah woops :D