Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ice: coroutine constructed with incorrect number of substitutions #120732

Closed
matthiaskrgr opened this issue Feb 7, 2024 · 2 comments · Fixed by #120746
Closed

ice: coroutine constructed with incorrect number of substitutions #120732

matthiaskrgr opened this issue Feb 7, 2024 · 2 comments · Fixed by #120746
Assignees
Labels
C-bug Category: This is a bug. F-coroutines `#![feature(coroutines)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

auto-reduced (treereduce-rust):

#![feature(coroutines, coroutine_trait)]

use std::ops::Coroutine;
use std::pin::Pin;
use std::thread;

fn send_over_threads() {
    let mut foo = || yield;
    thread::spawn(move || match Pin::new(&mut foo).resume(()) {
        s => panic!("bad state: {:?}", s),
    })
    .join()
    .unwrap();
}

#[test]
fn send_over_threads() {}

original:

#![feature(coroutines, coroutine_trait)]

use std::ops::{Coroutine, CoroutineState};
use std::pin::Pin;
use std::thread;

fn send_over_threads() {
    let mut foo = || yield;
    thread::spawn(move || match Pin::new(&mut foo).resume(()) {
        s => panic!("bad state: {:?}", s),
    })
    .join()
    .unwrap();
}

#[test]
fn send_over_threads() {}

Version information

rustc 1.78.0-dev
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-unknown-linux-gnu
release: 1.78.0-dev
LLVM version: 17.0.6

Command:
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/rustc -Zprint-mono-items=eager -Zpolymorphize=on --crate-type=lib

Program output

warning: function `send_over_threads` is never used
 --> /tmp/icemaker_global_tempdir.231TrRoYAvzf/rustc_testrunner_tmpdir_reporting.wyoEqVG7nQrN/mvce.rs:7:4
  |
7 | fn send_over_threads() {
  |    ^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(dead_code)]` on by default

thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:1716:9:
assertion `left == right` failed: coroutine constructed with incorrect number of substitutions
  left: 5
 right: 6
stack backtrace:
   0:     0x7f7cb9f7ca5d - std::backtrace_rs::backtrace::libunwind::trace::hb28aaf5f3549701f
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7f7cb9f7ca5d - std::backtrace_rs::backtrace::trace_unsynchronized::he4f17ec88b61fea5
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f7cb9f7ca5d - std::sys_common::backtrace::_print_fmt::h5a82a3e85aa2fae5
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7f7cb9f7ca5d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb03764486a25b659
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f7cb9fc55cf - core::fmt::rt::Argument::fmt::h67bfbe6caf20ecda
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/rt.rs:142:9
   5:     0x7f7cb9fc55cf - core::fmt::write::h2b3e0bd86bdfc209
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1120:17
   6:     0x7f7cb9f64285 - std::io::Write::write_fmt::hcf7284dad3d07738
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1854:15
   7:     0x7f7cb9f7c824 - std::sys_common::backtrace::_print::h1988031c6b9fcf4a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f7cb9f7c824 - std::sys_common::backtrace::print::h81809c76434159ce
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f7cb9f4022c - std::panicking::default_hook::{{closure}}::he3de9259d121bac5
  10:     0x7f7cb9f3ff00 - std::panicking::default_hook::hcde334a568bf04a2
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:292:9
  11:     0x7f7cbcaffe47 - rustc_driver_impl[8889ac64fe77a2fe]::install_ice_hook::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:1340:17
  12:     0x7f7cbcaffe47 - <alloc[3b5cf733b6b27210]::boxed::Box<rustc_driver_impl[8889ac64fe77a2fe]::install_ice_hook::{closure#0}> as core[aa444211b5f41879]::ops::function::Fn<(&dyn for<'a, 'b> core[aa444211b5f41879]::ops::function::Fn<(&'a core[aa444211b5f41879]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[aa444211b5f41879]::marker::Sync + core[aa444211b5f41879]::marker::Send, &core[aa444211b5f41879]::panic::panic_info::PanicInfo)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2029:9
  13:     0x7f7cb9f40ae3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h65cf345775a09bb6
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2029:9
  14:     0x7f7cb9f40ae3 - std::panicking::rust_panic_with_hook::hb041b1849b056e6a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:785:13
  15:     0x7f7cb9f7cf1a - std::panicking::begin_panic_handler::{{closure}}::hae61001f490e889a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:659:13
  16:     0x7f7cb9f7cd26 - std::sys_common::backtrace::__rust_end_short_backtrace::h07aab78c7d5e7b18
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:171:18
  17:     0x7f7cb9f40654 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:647:5
  18:     0x7f7cb9fdf965 - core::panicking::panic_fmt::h7cdaca6ac7987f65
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:72:14
  19:     0x7f7cb9fe0019 - core::panicking::assert_failed_inner::heed625da7882381e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:337:23
  20:     0x7f7cbde2173f - core[aa444211b5f41879]::panicking::assert_failed::<usize, usize>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:297:5
  21:     0x7f7cbdca142a - <rustc_middle[8414b965ec1e8931]::ty::Ty>::new_coroutine
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/sty.rs:1716:9
  22:     0x7f7cbdca142a - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::TypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:801:25
  23:     0x7f7cbdc9acbc - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::FallibleTypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:241:12
  24:     0x7f7cbdc9acbc - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:551:9
  25:     0x7f7cbdc9acbc - rustc_middle[8414b965ec1e8931]::ty::util::fold_list::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/util.rs:1494:61
  26:     0x7f7cbdc9acbc - core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check::<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2958:32
  27:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/enumerate.rs:86:27
  28:     0x7f7cbdc9acbc - core[aa444211b5f41879]::iter::adapters::copied::copy_try_fold::<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/copied.rs:36:22
  29:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), core[aa444211b5f41879]::iter::adapters::copied::copy_try_fold<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2462:21
  30:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/copied.rs:70:9
  31:     0x7f7cbdc9acbc - <&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::IteratorRefSpec>::spec_try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:4247:9
  32:     0x7f7cbdc9acbc - <&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:4198:9
  33:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/enumerate.rs:92:9
  34:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::find_map::<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2964:9
  35:     0x7f7cbdc9acbc - rustc_middle[8414b965ec1e8931]::ty::util::fold_list::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/util.rs:1494:11
  36:     0x7f7cbdc9acbc - <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:551:18
  37:     0x7f7cbdd7a99e - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:576:40
  38:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:112:15
  39:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::TypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:804:25
  40:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::FallibleTypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:241:12
  41:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:551:9
  42:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:88:15
  43:     0x7f7cbdc907af - rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:823:61
  44:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::fill_single::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:374:24
  45:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::fill_item::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:362:9
  46:     0x7f7cbdca0ccd - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::for_item::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:332:9
  47:     0x7f7cbdca0ccd - rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:809:5
  48:     0x7f7cbdca127e - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::TypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:788:25
  49:     0x7f7cbdc95ef0 - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::FallibleTypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:241:12
  50:     0x7f7cbdc95ef0 - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:551:9
  51:     0x7f7cbdc95ef0 - <rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:237:44
  52:     0x7f7cbdc95ef0 - <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:503:30
  53:     0x7f7cbdd7a7f5 - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:570:48
  54:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:112:15
  55:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::TypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:804:25
  56:     0x7f7cbdc9acbc - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::FallibleTypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:241:12
  57:     0x7f7cbdc9acbc - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:551:9
  58:     0x7f7cbdc9acbc - rustc_middle[8414b965ec1e8931]::ty::util::fold_list::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/util.rs:1494:61
  59:     0x7f7cbdc9acbc - core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check::<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2958:32
  60:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/enumerate.rs:86:27
  61:     0x7f7cbdc9acbc - core[aa444211b5f41879]::iter::adapters::copied::copy_try_fold::<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/copied.rs:36:22
  62:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), core[aa444211b5f41879]::iter::adapters::copied::copy_try_fold<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2462:21
  63:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/copied.rs:70:9
  64:     0x7f7cbdc9acbc - <&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::IteratorRefSpec>::spec_try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:4247:9
  65:     0x7f7cbdc9acbc - <&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<_> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle[8414b965ec1e8931]::ty::Ty, (), core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>, core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:4198:9
  66:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::try_fold::<(), core[aa444211b5f41879]::iter::traits::iterator::Iterator::find_map::check<(usize, rustc_middle[8414b965ec1e8931]::ty::Ty), (usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>::{closure#0}, core[aa444211b5f41879]::ops::control_flow::ControlFlow<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/enumerate.rs:92:9
  67:     0x7f7cbdc9acbc - <core[aa444211b5f41879]::iter::adapters::enumerate::Enumerate<&mut core[aa444211b5f41879]::iter::adapters::copied::Copied<core[aa444211b5f41879]::slice::iter::Iter<rustc_middle[8414b965ec1e8931]::ty::Ty>>> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::find_map::<(usize, core[aa444211b5f41879]::result::Result<rustc_middle[8414b965ec1e8931]::ty::Ty, !>), rustc_middle[8414b965ec1e8931]::ty::util::fold_list<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2964:9
  68:     0x7f7cbdc9acbc - rustc_middle[8414b965ec1e8931]::ty::util::fold_list::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder, rustc_middle[8414b965ec1e8931]::ty::Ty, <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/util.rs:1494:11
  69:     0x7f7cbdc9acbc - <&rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::Ty> as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:551:18
  70:     0x7f7cbdd7a99e - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:576:40
  71:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeSuperFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::super_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:112:15
  72:     0x7f7cbdca12a0 - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::TypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:804:25
  73:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[929cb0070a7abace]::fold::FallibleTypeFolder<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_ty
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:241:12
  74:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/structural_impls.rs:551:9
  75:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::Ty as rustc_type_ir[929cb0070a7abace]::fold::TypeFoldable<rustc_middle[8414b965ec1e8931]::ty::context::TyCtxt>>::fold_with::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::PolymorphizationFolder>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_type_ir/src/fold.rs:88:15
  76:     0x7f7cbdc907af - rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:823:61
  77:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::fill_single::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:374:24
  78:     0x7f7cbdc907af - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::fill_item::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:362:9
  79:     0x7f7cbdca0ccd - <rustc_middle[8414b965ec1e8931]::ty::list::List<rustc_middle[8414b965ec1e8931]::ty::generic_args::GenericArg>>::for_item::<rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/generic_args.rs:332:9
  80:     0x7f7cbdca0ccd - rustc_middle[8414b965ec1e8931]::ty::instance::polymorphize
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:809:5
  81:     0x7f7cbdca00d1 - <rustc_middle[8414b965ec1e8931]::ty::instance::Instance>::polymorphize
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/instance.rs:746:34
  82:     0x7f7cbe383363 - rustc_monomorphize[e9a13ccb3a3d72c]::collector::should_codegen_locally
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:1015:12
  83:     0x7f7cbe382ece - rustc_monomorphize[e9a13ccb3a3d72c]::collector::visit_instance_use
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:948:9
  84:     0x7f7cbe38200f - rustc_monomorphize[e9a13ccb3a3d72c]::collector::visit_fn_use
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:936:9
  85:     0x7f7cbe38200f - <rustc_monomorphize[e9a13ccb3a3d72c]::collector::MirUsedCollector as rustc_middle[8414b965ec1e8931]::mir::visit::Visitor>::visit_terminator
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:845:17
  86:     0x7f7cbe38bdb4 - <rustc_monomorphize[e9a13ccb3a3d72c]::collector::MirUsedCollector as rustc_middle[8414b965ec1e8931]::mir::visit::Visitor>::super_basic_block_data
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:313:21
  87:     0x7f7cbe38bdb4 - <rustc_monomorphize[e9a13ccb3a3d72c]::collector::MirUsedCollector as rustc_middle[8414b965ec1e8931]::mir::visit::Visitor>::visit_basic_block_data
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:88:17
  88:     0x7f7cbe38bdb4 - <rustc_monomorphize[e9a13ccb3a3d72c]::collector::MirUsedCollector as rustc_middle[8414b965ec1e8931]::mir::visit::Visitor>::super_body
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:292:17
  89:     0x7f7cbe38bdb4 - <rustc_monomorphize[e9a13ccb3a3d72c]::collector::MirUsedCollector as rustc_middle[8414b965ec1e8931]::mir::visit::Visitor>::visit_body
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:1216:1
  90:     0x7f7cbe38bdb4 - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_used_items
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:1489:6
  91:     0x7f7cbe388b54 - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:419:17
  92:     0x7f7cbe388b54 - stacker[bd635a8d74548ce]::maybe_grow::<(), rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec::{closure#0}>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  93:     0x7f7cbe388b54 - rustc_data_structures[e95f3e36f9618881]::stack::ensure_sufficient_stack::<(), rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:17:5
  94:     0x7f7cbe388b54 - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:418:13
  95:     0x7f7cbe38916f - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:475:9
  96:     0x7f7cbe38916f - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:475:9
  97:     0x7f7cbe38916f - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:475:9
  98:     0x7f7cbe38916f - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_items_rec
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:475:9
  99:     0x7f7cbe3f33f9 - rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_monomorphize/src/collector.rs:279:17
 100:     0x7f7cbe3f33f9 - rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in::<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/sync/parallel.rs:182:34
 101:     0x7f7cbe3f33f9 - <core[aa444211b5f41879]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}> as core[aa444211b5f41879]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:272:9
 102:     0x7f7cbe3f33f9 - std[1ba472e493b6ecda]::panicking::try::do_call::<core[aa444211b5f41879]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:554:40
 103:     0x7f7cbe3f33f9 - std[1ba472e493b6ecda]::panicking::try::<(), core[aa444211b5f41879]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:518:19
 104:     0x7f7cbe3ebbe7 - std[1ba472e493b6ecda]::panic::catch_unwind::<core[aa444211b5f41879]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:142:14
 105:     0x7f7cbe3ebbe7 - <rustc_data_structures[e95f3e36f9618881]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/sync/parallel.rs:28:9
 106:     0x7f7cbe3fa684 - rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in::<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/sync/parallel.rs:186:21
 107:     0x7f7cbe3fa684 - core[aa444211b5f41879]::iter::traits::iterator::Iterator::for_each::call::<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:855:29
 108:     0x7f7cbe3fa684 - <alloc[3b5cf733b6b27210]::vec::into_iter::IntoIter<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::fold::<(), core[aa444211b5f41879]::iter::traits::iterator::Iterator::for_each::call<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2640:21
 109:     0x7f7cbe3fa684 - <alloc[3b5cf733b6b27210]::vec::into_iter::IntoIter<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem> as core[aa444211b5f41879]::iter::traits::iterator::Iterator>::for_each::<rustc_data_structures[e95f3e36f9618881]::sync::parallel::enabled::par_for_each_in<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem, alloc[3b5cf733b6b27210]::vec::Vec<rustc_middle[8414b965ec1e8931]::mir::mono::MonoItem>, rustc_monomorphize[e9a13ccb3a3d72c]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:858:9
<snip>
 205:     0x7f7cbcacb2d3 - <std[1ba472e493b6ecda]::thread::Builder>::spawn_unchecked_::<rustc_interface[8306b4673bc9e9fb]::util::run_in_thread_with_globals<rustc_interface[8306b4673bc9e9fb]::util::run_in_thread_pool_with_globals<rustc_interface[8306b4673bc9e9fb]::interface::run_compiler<core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>, rustc_driver_impl[8889ac64fe77a2fe]::run_compiler::{closure#0}>::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:528:30
 206:     0x7f7cbcacb2d3 - <<std[1ba472e493b6ecda]::thread::Builder>::spawn_unchecked_<rustc_interface[8306b4673bc9e9fb]::util::run_in_thread_with_globals<rustc_interface[8306b4673bc9e9fb]::util::run_in_thread_pool_with_globals<rustc_interface[8306b4673bc9e9fb]::interface::run_compiler<core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>, rustc_driver_impl[8889ac64fe77a2fe]::run_compiler::{closure#0}>::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[aa444211b5f41879]::result::Result<(), rustc_span[9066a7c1991c4c44]::ErrorGuaranteed>>::{closure#1} as core[aa444211b5f41879]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
 207:     0x7f7cb9f6d18c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h81ab1a37af1954b1
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2015:9
 208:     0x7f7cb9f6d18c - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5e05ea3bb7f99950
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2015:9
 209:     0x7f7cb9f7f115 - std::sys::pal::unix::thread::Thread::new::thread_start::hfa99437ef0507a46
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/pal/unix/thread.rs:108:17
 210:     0x7f7cb9d1f9eb - <unknown>
 211:     0x7f7cb9da37cc - <unknown>
 212:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.78.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z print-mono-items=eager -Z polymorphize=on --crate-type lib -Z dump-mir-dir=dir

query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
#1 [exported_symbols] collecting exported symbols for crate `0`
end of query stack
warning: 1 warning emitted


@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. F-coroutines `#![feature(coroutines)]` requires-debug-assertions This issue requires debug-assertions in some way labels Feb 7, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Feb 7, 2024
@matthiaskrgr matthiaskrgr removed the requires-debug-assertions This issue requires debug-assertions in some way label Feb 7, 2024
@matthiaskrgr
Copy link
Member Author

without debug assertions:

auto-reduced (treereduce-rust):

#![feature(coroutines, coroutine_trait)]

use std::ops::Coroutine;
use std::pin::Pin;
use std::thread;

fn send_over_threads() {
    let mut foo = || yield;
    thread::spawn(move || match Pin::new(&mut foo).resume(()) {
        s => panic!("bad state: {:?}", s),
    })
    .join()
    .unwrap();
}

#[test]
fn send_over_threads() {}

original:

#![feature(coroutines, coroutine_trait)]

use std::ops::{Coroutine, CoroutineState};
use std::pin::Pin;
use std::thread;

fn send_over_threads() {
    let mut foo = || yield;
    thread::spawn(move || match Pin::new(&mut foo).resume(()) {
        s => panic!("bad state: {:?}", s),
    })
    .join()
    .unwrap();
}

#[test]
fn send_over_threads() {}

Version information

rustc 1.78.0-nightly (0d531351e 2024-02-06)
binary: rustc
commit-hash: 0d531351e848ad69a03c704d40985c9003847427
commit-date: 2024-02-06
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 17.0.6

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zprint-mono-items=eager -Zpolymorphize=on --crate-type=lib

Program output

warning: function `send_over_threads` is never used
 --> /tmp/icemaker_global_tempdir.rTwJ9iNSDjnA/rustc_testrunner_tmpdir_reporting.CrUunUkus4Tu/mvce.rs:7:4
  |
7 | fn send_over_threads() {
  |    ^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(dead_code)]` on by default

error: internal compiler error: compiler/rustc_middle/src/ty/sty.rs:614:18: coroutine args missing synthetics

thread 'rustc' panicked at /rustc/0d531351e848ad69a03c704d40985c9003847427/compiler/rustc_errors/src/lib.rs:922:30:
Box<dyn Any>
stack backtrace:
   0:     0x7f14c6993dd6 - std::backtrace_rs::backtrace::libunwind::trace::hfdae62e8e22e6f1a
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7f14c6993dd6 - std::backtrace_rs::backtrace::trace_unsynchronized::he505abab68a6512a
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f14c6993dd6 - std::sys_common::backtrace::_print_fmt::h2058e6ceaf7986ec
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7f14c6993dd6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h88fb1ebd9d7ae9fa
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f14c69e6830 - core::fmt::rt::Argument::fmt::heef523905221546b
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/core/src/fmt/rt.rs:142:9
   5:     0x7f14c69e6830 - core::fmt::write::h717ed8a802e496ec
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/core/src/fmt/mod.rs:1120:17
   6:     0x7f14c69876df - std::io::Write::write_fmt::h0a7b5a6fbe2edfa0
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/io/mod.rs:1854:15
   7:     0x7f14c6993bb4 - std::sys_common::backtrace::_print::h50186d622834a784
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f14c6993bb4 - std::sys_common::backtrace::print::h73bfab4cea7bd688
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f14c6996947 - std::panicking::default_hook::{{closure}}::ha091dd49dc1987ee
  10:     0x7f14c69966a9 - std::panicking::default_hook::ha0896466afb51dd5
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/panicking.rs:292:9
  11:     0x7f14c374535c - std[e2dd8f09a6979f5]::panicking::update_hook::<alloc[dfc499d75d84c89b]::boxed::Box<rustc_driver_impl[b4197ccbff761024]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7f14c6997096 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f2e1daf0de28c05
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/alloc/src/boxed.rs:2029:9
  13:     0x7f14c6997096 - std::panicking::rust_panic_with_hook::h52f243af5da102d3
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/panicking.rs:785:13
  14:     0x7f14c3776db4 - std[e2dd8f09a6979f5]::panicking::begin_panic::<rustc_errors[6474280b2ffa63e5]::ExplicitBug>::{closure#0}
  15:     0x7f14c37734a6 - std[e2dd8f09a6979f5]::sys_common::backtrace::__rust_end_short_backtrace::<std[e2dd8f09a6979f5]::panicking::begin_panic<rustc_errors[6474280b2ffa63e5]::ExplicitBug>::{closure#0}, !>
  16:     0x7f14c376ebd6 - std[e2dd8f09a6979f5]::panicking::begin_panic::<rustc_errors[6474280b2ffa63e5]::ExplicitBug>
  17:     0x7f14c3782931 - <rustc_errors[6474280b2ffa63e5]::diagnostic_builder::BugAbort as rustc_errors[6474280b2ffa63e5]::diagnostic_builder::EmissionGuarantee>::emit_producing_guarantee
  18:     0x7f14c3b36a3e - <rustc_errors[6474280b2ffa63e5]::DiagCtxt>::bug::<alloc[dfc499d75d84c89b]::string::String>
  19:     0x7f14c3bd21eb - rustc_middle[3665694cbc533b51]::util::bug::opt_span_bug_fmt::<rustc_span[6737e1c60a64ddff]::span_encoding::Span>::{closure#0}
  20:     0x7f14c3bb97aa - rustc_middle[3665694cbc533b51]::ty::context::tls::with_opt::<rustc_middle[3665694cbc533b51]::util::bug::opt_span_bug_fmt<rustc_span[6737e1c60a64ddff]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7f14c3bb9648 - rustc_middle[3665694cbc533b51]::ty::context::tls::with_context_opt::<rustc_middle[3665694cbc533b51]::ty::context::tls::with_opt<rustc_middle[3665694cbc533b51]::util::bug::opt_span_bug_fmt<rustc_span[6737e1c60a64ddff]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7f14c1b65c60 - rustc_middle[3665694cbc533b51]::util::bug::bug_fmt
  23:     0x7f14c3bcf315 - <rustc_middle[3665694cbc533b51]::ty::sty::CoroutineArgs>::split
  24:     0x7f14c18bc731 - <rustc_middle[3665694cbc533b51]::ty::context::CtxtInterners>::intern_ty
  25:     0x7f14c3bc8a40 - <rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[7499020ed232ab1c]::fold::TypeFolder<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::fold_ty
  26:     0x7f14c3bc70c0 - <&rustc_middle[3665694cbc533b51]::ty::list::List<rustc_middle[3665694cbc533b51]::ty::Ty> as rustc_type_ir[7499020ed232ab1c]::fold::TypeFoldable<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder>
  27:     0x7f14c3bc8b38 - <rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[7499020ed232ab1c]::fold::TypeFolder<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::fold_ty
  28:     0x7f14c3bc417c - <rustc_middle[3665694cbc533b51]::ty::list::List<rustc_middle[3665694cbc533b51]::ty::generic_args::GenericArg>>::fill_item::<rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::{closure#1}>
  29:     0x7f14c3bc87f5 - rustc_middle[3665694cbc533b51]::ty::instance::polymorphize
  30:     0x7f14c3bc8a0a - <rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[7499020ed232ab1c]::fold::TypeFolder<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::fold_ty
  31:     0x7f14c3bc524d - <&rustc_middle[3665694cbc533b51]::ty::list::List<rustc_middle[3665694cbc533b51]::ty::generic_args::GenericArg> as rustc_type_ir[7499020ed232ab1c]::fold::TypeFoldable<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder>
  32:     0x7f14c3bc8aa5 - <rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[7499020ed232ab1c]::fold::TypeFolder<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::fold_ty
  33:     0x7f14c3bc70c0 - <&rustc_middle[3665694cbc533b51]::ty::list::List<rustc_middle[3665694cbc533b51]::ty::Ty> as rustc_type_ir[7499020ed232ab1c]::fold::TypeFoldable<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder>
  34:     0x7f14c3bc8b38 - <rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::PolymorphizationFolder as rustc_type_ir[7499020ed232ab1c]::fold::TypeFolder<rustc_middle[3665694cbc533b51]::ty::context::TyCtxt>>::fold_ty
  35:     0x7f14c3bc417c - <rustc_middle[3665694cbc533b51]::ty::list::List<rustc_middle[3665694cbc533b51]::ty::generic_args::GenericArg>>::fill_item::<rustc_middle[3665694cbc533b51]::ty::instance::polymorphize::{closure#1}>
  36:     0x7f14c3bc87f5 - rustc_middle[3665694cbc533b51]::ty::instance::polymorphize
  37:     0x7f14c2715f00 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec::{closure#0}
  38:     0x7f14c58a3c23 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec
  39:     0x7f14c58a3f77 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec
  40:     0x7f14c58a3f77 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec
  41:     0x7f14c58a3f77 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec
  42:     0x7f14c58a3f77 - rustc_monomorphize[b8630da2a4929460]::collector::collect_items_rec
  43:     0x7f14c589f33b - rustc_monomorphize[b8630da2a4929460]::partitioning::collect_and_partition_mono_items
  44:     0x7f14c589e996 - rustc_query_impl[ab8ae9d653566c7b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ab8ae9d653566c7b]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3665694cbc533b51]::query::erase::Erased<[u8; 24usize]>>
  45:     0x7f14c589e967 - <rustc_query_impl[ab8ae9d653566c7b]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2} as core[2976feabee4c73dd]::ops::function::FnOnce<(rustc_middle[3665694cbc533b51]::ty::context::TyCtxt, ())>>::call_once
  46:     0x7f14c589dd07 - rustc_query_system[197d7338a8b871ba]::query::plumbing::try_execute_query::<rustc_query_impl[ab8ae9d653566c7b]::DynamicConfig<rustc_query_system[197d7338a8b871ba]::query::caches::SingleCache<rustc_middle[3665694cbc533b51]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[ab8ae9d653566c7b]::plumbing::QueryCtxt, false>
  47:     0x7f14c589da09 - rustc_query_impl[ab8ae9d653566c7b]::query_impl::collect_and_partition_mono_items::get_query_non_incr::__rust_end_short_backtrace
  48:     0x7f14c555e7c0 - rustc_codegen_ssa[f18a1fc9d2423288]::back::symbol_export::exported_symbols_provider_local
  49:     0x7f14c4bdd3e5 - rustc_query_impl[ab8ae9d653566c7b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ab8ae9d653566c7b]::query_impl::exported_symbols::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3665694cbc533b51]::query::erase::Erased<[u8; 16usize]>>
  50:     0x7f14c4bdd39d - <rustc_query_impl[ab8ae9d653566c7b]::query_impl::exported_symbols::dynamic_query::{closure#2} as core[2976feabee4c73dd]::ops::function::FnOnce<(rustc_middle[3665694cbc533b51]::ty::context::TyCtxt, rustc_span[6737e1c60a64ddff]::def_id::CrateNum)>>::call_once
  51:     0x7f14c55dcc94 - rustc_query_system[197d7338a8b871ba]::query::plumbing::try_execute_query::<rustc_query_impl[ab8ae9d653566c7b]::DynamicConfig<rustc_query_system[197d7338a8b871ba]::query::caches::VecCache<rustc_span[6737e1c60a64ddff]::def_id::CrateNum, rustc_middle[3665694cbc533b51]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[ab8ae9d653566c7b]::plumbing::QueryCtxt, false>
  52:     0x7f14c55dc6e3 - rustc_query_impl[ab8ae9d653566c7b]::query_impl::exported_symbols::get_query_non_incr::__rust_end_short_backtrace
  53:     0x7f14c55dc78d - rustc_middle[3665694cbc533b51]::query::plumbing::query_get_at::<rustc_query_system[197d7338a8b871ba]::query::caches::VecCache<rustc_span[6737e1c60a64ddff]::def_id::CrateNum, rustc_middle[3665694cbc533b51]::query::erase::Erased<[u8; 16usize]>>>
  54:     0x7f14c59f0df5 - <rustc_metadata[6baf755ad2313115]::rmeta::encoder::EncodeContext>::encode_crate_root
  55:     0x7f14c5a1bc7b - rustc_metadata[6baf755ad2313115]::rmeta::encoder::encode_metadata
  56:     0x7f14c5a1a2a8 - rustc_metadata[6baf755ad2313115]::fs::encode_and_write_metadata
  57:     0x7f14c59a27c3 - rustc_interface[f913384edd7e9cbf]::passes::start_codegen
  58:     0x7f14c59a1fb0 - <rustc_interface[f913384edd7e9cbf]::queries::Queries>::codegen_and_build_linker
  59:     0x7f14c578708c - rustc_interface[f913384edd7e9cbf]::interface::run_compiler::<core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>, rustc_driver_impl[b4197ccbff761024]::run_compiler::{closure#0}>::{closure#0}
  60:     0x7f14c5390a86 - std[e2dd8f09a6979f5]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[f913384edd7e9cbf]::util::run_in_thread_with_globals<rustc_interface[f913384edd7e9cbf]::util::run_in_thread_pool_with_globals<rustc_interface[f913384edd7e9cbf]::interface::run_compiler<core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>, rustc_driver_impl[b4197ccbff761024]::run_compiler::{closure#0}>::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>
  61:     0x7f14c53908b3 - <<std[e2dd8f09a6979f5]::thread::Builder>::spawn_unchecked_<rustc_interface[f913384edd7e9cbf]::util::run_in_thread_with_globals<rustc_interface[f913384edd7e9cbf]::util::run_in_thread_pool_with_globals<rustc_interface[f913384edd7e9cbf]::interface::run_compiler<core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>, rustc_driver_impl[b4197ccbff761024]::run_compiler::{closure#0}>::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[2976feabee4c73dd]::result::Result<(), rustc_span[6737e1c60a64ddff]::ErrorGuaranteed>>::{closure#1} as core[2976feabee4c73dd]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  62:     0x7f14c69a0735 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h91ee709be90055be
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/alloc/src/boxed.rs:2015:9
  63:     0x7f14c69a0735 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8114a27eba7072b8
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/alloc/src/boxed.rs:2015:9
  64:     0x7f14c69a0735 - std::sys::pal::unix::thread::Thread::new::thread_start::hd02f1d4a31662427
                               at /rustc/0d531351e848ad69a03c704d40985c9003847427/library/std/src/sys/pal/unix/thread.rs:108:17
  65:     0x7f14c08749eb - <unknown>
  66:     0x7f14c08f87cc - <unknown>
  67:                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.78.0-nightly (0d531351e 2024-02-06) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z print-mono-items=eager -Z polymorphize=on --crate-type lib -Z dump-mir-dir=dir

query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
#1 [exported_symbols] collecting exported symbols for crate `0`
end of query stack
error: aborting due to 1 previous error; 1 warning emitted


@matthiaskrgr
Copy link
Member Author

Regression in nightly-2024-02-07
#120361 cc @compiler-errors

@compiler-errors compiler-errors self-assigned this Feb 7, 2024
Nadrieril added a commit to Nadrieril/rust that referenced this issue Feb 7, 2024
Record coroutine kind in coroutine generics

Oops, added a new substitution (the "kind" ty) to coroutines but forgot to record it in the `generics_of`. I'm surprised I left this out of the coroutine-closure PR -- I thought I made this change; I possibly rebased it out by accident.

Fixes rust-lang#120732

r? oli-obk
@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Feb 7, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Feb 7, 2024
Rollup merge of rust-lang#120746 - compiler-errors:kind-ty, r=oli-obk

Record coroutine kind in coroutine generics

Oops, added a new substitution (the "kind" ty) to coroutines but forgot to record it in the `generics_of`. I'm surprised I left this out of the coroutine-closure PR -- I thought I made this change; I possibly rebased it out by accident.

Fixes rust-lang#120732

r? oli-obk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. F-coroutines `#![feature(coroutines)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants