Skip to content

ICE: generators: assertion failed: field.0.is_sized() #113279

Closed
@matthiaskrgr

Description

@matthiaskrgr

Code

#![feature(generators)]

fn foo() {
    let _y = static || {
        let x = &mut 0;
        *{
            yield;
            x
        } += match { *"" }.len() {
            _ => 0,
        };
    };
}

fn main() {
    foo()
}

Meta

rustc --version --verbose:

rustc 1.72.0-nightly (5bd28f5ea 2023-06-28)
binary: rustc
commit-hash: 5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0
commit-date: 2023-06-28
host: x86_64-unknown-linux-gnu
release: 1.72.0-nightly
LLVM version: 16.0.5

Error output

error[E0161]: cannot move a value of type `str`
 --> treereduce.out:9:20
  |
9 |         } += match { *"" }.len() {
  |                    ^^^^^^^ the size of `str` cannot be statically determined

error[E0507]: cannot move out of a shared reference
 --> treereduce.out:9:22
  |
9 |         } += match { *"" }.len() {
  |                      ^^^ move occurs because value has type `str`, which does not implement the `Copy` trait
Backtrace

thread 'rustc' panicked at 'assertion failed: field.0.is_sized()', /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/compiler/rustc_abi/src/layout.rs:751:13
stack backtrace:
   0:     0x7f972f967e31 - std::backtrace_rs::backtrace::libunwind::trace::h8bc3e596fd6e6181
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f972f967e31 - std::backtrace_rs::backtrace::trace_unsynchronized::h9a0656fedca2f962
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f972f967e31 - std::sys_common::backtrace::_print_fmt::h11ca79bc953fda0e
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f972f967e31 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h23585af82c540d61
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f972f9c95df - core::fmt::rt::Argument::fmt::h1e7f4bcecbee3fbb
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/core/src/fmt/rt.rs:138:9
   5:     0x7f972f9c95df - core::fmt::write::h41633f265152b738
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f972f95a967 - std::io::Write::write_fmt::hdf9fdeebf4391d4c
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/io/mod.rs:1714:15
   7:     0x7f972f967c45 - std::sys_common::backtrace::_print::h0761f433dadea582
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f972f967c45 - std::sys_common::backtrace::print::hffcd468cc9baf957
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f972f96a9f3 - std::panicking::default_hook::{{closure}}::h70eb212f41458c90
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/panicking.rs:269:22
  10:     0x7f972f96a784 - std::panicking::default_hook::hf217f8886a1385fc
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/panicking.rs:288:9
  11:     0x7f9732c2217b - <rustc_driver_impl[ea51492c730803db]::install_ice_hook::{closure#0} as core[6e72eb595340d7ba]::ops::function::FnOnce<(&core[6e72eb595340d7ba]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
  12:     0x7f972f96b21e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf84d12f536c7065
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/alloc/src/boxed.rs:2024:9
  13:     0x7f972f96b21e - std::panicking::rust_panic_with_hook::h7901b0073bb3ed74
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/panicking.rs:709:13
  14:     0x7f972f96af61 - std::panicking::begin_panic_handler::{{closure}}::hec74e56b1f659f1d
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/panicking.rs:595:13
  15:     0x7f972f968266 - std::sys_common::backtrace::__rust_end_short_backtrace::hb5aad058838135df
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys_common/backtrace.rs:151:18
  16:     0x7f972f96acf2 - rust_begin_unwind
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/panicking.rs:593:5
  17:     0x7f972f9c5833 - core::panicking::panic_fmt::h837c4ca50a3367f6
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/core/src/panicking.rs:67:14
  18:     0x7f972f9c58c3 - core::panicking::panic::h80d288e51a1b9574
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/core/src/panicking.rs:117:5
  19:     0x7f973135086a - <rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutCx<rustc_middle[9f74ec5cb00a905a]::ty::context::TyCtxt> as rustc_abi[f59abcbab75cfe4b]::layout::LayoutCalculator>::layout_of_union
  20:     0x7f973133a411 - rustc_ty_utils[a49f065ba4a00179]::layout::layout_of
  21:     0x7f9730bf6780 - rustc_query_impl[a5bf74a69bd3660]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a5bf74a69bd3660]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 24usize]>>
  22:     0x7f9731567bc7 - rustc_query_system[d65e888f3fe19f8d]::query::plumbing::try_execute_query::<rustc_query_impl[a5bf74a69bd3660]::DynamicConfig<rustc_query_system[d65e888f3fe19f8d]::query::caches::DefaultCache<rustc_middle[9f74ec5cb00a905a]::ty::ParamEnvAnd<rustc_middle[9f74ec5cb00a905a]::ty::Ty>, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 24usize]>>, false, true, false>, rustc_query_impl[a5bf74a69bd3660]::plumbing::QueryCtxt, false>
  23:     0x7f97315677f0 - rustc_query_impl[a5bf74a69bd3660]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  24:     0x7f9731969df0 - <rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutCx<rustc_middle[9f74ec5cb00a905a]::ty::context::TyCtxt> as rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutOf>::spanned_layout_of
  25:     0x7f973395c41b - <core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::try_fold::<(), <core[6e72eb595340d7ba]::iter::adapters::GenericShunt<core[6e72eb595340d7ba]::iter::adapters::by_ref_sized::ByRefSized<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>>>, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::convert::Infallible, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::try_fold<(), core[6e72eb595340d7ba]::iter::traits::iterator::Iterator::try_for_each::call<rustc_abi[f59abcbab75cfe4b]::Layout, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>::Break>::{closure#0}, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>>::{closure#0}, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>>>
  26:     0x7f97339669c0 - <core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::try_fold::<(), <core[6e72eb595340d7ba]::iter::adapters::GenericShunt<core[6e72eb595340d7ba]::iter::adapters::by_ref_sized::ByRefSized<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>>>, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::convert::Infallible, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::try_fold<(), core[6e72eb595340d7ba]::iter::traits::iterator::Iterator::try_for_each::call<rustc_abi[f59abcbab75cfe4b]::Layout, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>::Break>::{closure#0}, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>>::{closure#0}, core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<core[6e72eb595340d7ba]::ops::control_flow::ControlFlow<rustc_abi[f59abcbab75cfe4b]::Layout>>>
  27:     0x7f97339855c3 - <core[6e72eb595340d7ba]::iter::adapters::GenericShunt<core[6e72eb595340d7ba]::iter::adapters::by_ref_sized::ByRefSized<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>>>, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::convert::Infallible, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::next
  28:     0x7f9733956022 - <alloc[6fd48550c51b5745]::vec::Vec<rustc_abi[f59abcbab75cfe4b]::Layout> as alloc[6fd48550c51b5745]::vec::spec_from_iter::SpecFromIter<rustc_abi[f59abcbab75cfe4b]::Layout, core[6e72eb595340d7ba]::iter::adapters::GenericShunt<core[6e72eb595340d7ba]::iter::adapters::by_ref_sized::ByRefSized<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>>>, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::convert::Infallible, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>>::from_iter
  29:     0x7f9733984b23 - core[6e72eb595340d7ba]::iter::adapters::try_process::<core[6e72eb595340d7ba]::iter::adapters::by_ref_sized::ByRefSized<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>>>, rustc_abi[f59abcbab75cfe4b]::Layout, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::convert::Infallible, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>, <core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::chain::Chain<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::flatten::Flatten<core[6e72eb595340d7ba]::option::IntoIter<&rustc_middle[9f74ec5cb00a905a]::ty::list::List<rustc_middle[9f74ec5cb00a905a]::ty::Ty>>>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#4}>, core[6e72eb595340d7ba]::iter::sources::once::Once<core[6e72eb595340d7ba]::result::Result<rustc_abi[f59abcbab75cfe4b]::Layout, rustc_middle[9f74ec5cb00a905a]::ty::layout::LayoutError>>>, core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<core[6e72eb595340d7ba]::iter::adapters::map::Map<rustc_index[70e807cd400131f6]::bit_set::BitIter<rustc_middle[9f74ec5cb00a905a]::mir::query::GeneratorSavedLocal>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#1}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#2}>, rustc_ty_utils[a49f065ba4a00179]::layout::generator_layout::{closure#3}>> as core[6e72eb595340d7ba]::iter::traits::iterator::Iterator>::try_collect<rustc_index[70e807cd400131f6]::vec::IndexVec<rustc_abi[f59abcbab75cfe4b]::FieldIdx, rustc_abi[f59abcbab75cfe4b]::Layout>>::{closure#0}, rustc_index[70e807cd400131f6]::vec::IndexVec<rustc_abi[f59abcbab75cfe4b]::FieldIdx, rustc_abi[f59abcbab75cfe4b]::Layout>>
  30:     0x7f973133bc32 - rustc_ty_utils[a49f065ba4a00179]::layout::layout_of
  31:     0x7f9730bf6780 - rustc_query_impl[a5bf74a69bd3660]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a5bf74a69bd3660]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 24usize]>>
  32:     0x7f9731567bc7 - rustc_query_system[d65e888f3fe19f8d]::query::plumbing::try_execute_query::<rustc_query_impl[a5bf74a69bd3660]::DynamicConfig<rustc_query_system[d65e888f3fe19f8d]::query::caches::DefaultCache<rustc_middle[9f74ec5cb00a905a]::ty::ParamEnvAnd<rustc_middle[9f74ec5cb00a905a]::ty::Ty>, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 24usize]>>, false, true, false>, rustc_query_impl[a5bf74a69bd3660]::plumbing::QueryCtxt, false>
  33:     0x7f97315677f0 - rustc_query_impl[a5bf74a69bd3660]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
  34:     0x7f9731c200df - <rustc_mir_transform[3a72d7fd4a713ad]::const_prop::CanConstProp>::check
  35:     0x7f9731bf49c8 - <rustc_mir_transform[3a72d7fd4a713ad]::const_prop_lint::ConstProp as rustc_mir_transform[3a72d7fd4a713ad]::pass_manager::MirLint>::run_lint
  36:     0x7f973117b4a6 - rustc_mir_transform[3a72d7fd4a713ad]::mir_drops_elaborated_and_const_checked
  37:     0x7f9730c6859e - rustc_query_impl[a5bf74a69bd3660]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a5bf74a69bd3660]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 8usize]>>
  38:     0x7f9730c6856e - <rustc_query_impl[a5bf74a69bd3660]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2} as core[6e72eb595340d7ba]::ops::function::FnOnce<(rustc_middle[9f74ec5cb00a905a]::ty::context::TyCtxt, rustc_span[624dabdd61f2978b]::def_id::LocalDefId)>>::call_once
  39:     0x7f9730d2891d - rustc_query_system[d65e888f3fe19f8d]::query::plumbing::try_execute_query::<rustc_query_impl[a5bf74a69bd3660]::DynamicConfig<rustc_query_system[d65e888f3fe19f8d]::query::caches::VecCache<rustc_span[624dabdd61f2978b]::def_id::LocalDefId, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a5bf74a69bd3660]::plumbing::QueryCtxt, false>
  40:     0x7f97325a7a21 - rustc_query_impl[a5bf74a69bd3660]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
  41:     0x7f97320ee629 - <rustc_session[a15a65f093e103e1]::session::Session>::time::<(), rustc_interface[b943f00ad50b5541]::passes::analysis::{closure#2}>
  42:     0x7f97320ea955 - rustc_interface[b943f00ad50b5541]::passes::analysis
  43:     0x7f9732133aba - rustc_query_impl[a5bf74a69bd3660]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a5bf74a69bd3660]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 1usize]>>
  44:     0x7f9732133aa9 - <rustc_query_impl[a5bf74a69bd3660]::query_impl::analysis::dynamic_query::{closure#2} as core[6e72eb595340d7ba]::ops::function::FnOnce<(rustc_middle[9f74ec5cb00a905a]::ty::context::TyCtxt, ())>>::call_once
  45:     0x7f97322b2da8 - rustc_query_system[d65e888f3fe19f8d]::query::plumbing::try_execute_query::<rustc_query_impl[a5bf74a69bd3660]::DynamicConfig<rustc_query_system[d65e888f3fe19f8d]::query::caches::SingleCache<rustc_middle[9f74ec5cb00a905a]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a5bf74a69bd3660]::plumbing::QueryCtxt, false>
  46:     0x7f97322b2b79 - rustc_query_impl[a5bf74a69bd3660]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  47:     0x7f9732286a55 - <rustc_middle[9f74ec5cb00a905a]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>
  48:     0x7f9731eb9341 - <rustc_interface[b943f00ad50b5541]::interface::Compiler>::enter::<rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}::{closure#2}, core[6e72eb595340d7ba]::result::Result<core[6e72eb595340d7ba]::option::Option<rustc_interface[b943f00ad50b5541]::queries::Linker>, rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>
  49:     0x7f9731eb4575 - rustc_span[624dabdd61f2978b]::set_source_map::<core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>, rustc_interface[b943f00ad50b5541]::interface::run_compiler<core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>, rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  50:     0x7f9731eb3996 - <scoped_tls[8088cff701f74b4a]::ScopedKey<rustc_span[624dabdd61f2978b]::SessionGlobals>>::set::<rustc_interface[b943f00ad50b5541]::interface::run_compiler<core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>, rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}>::{closure#0}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>
  51:     0x7f9731eb2f46 - std[4a840e81aae3439]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b943f00ad50b5541]::util::run_in_thread_pool_with_globals<rustc_interface[b943f00ad50b5541]::interface::run_compiler<core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>, rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}>::{closure#0}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>
  52:     0x7f9731eb2cee - <<std[4a840e81aae3439]::thread::Builder>::spawn_unchecked_<rustc_interface[b943f00ad50b5541]::util::run_in_thread_pool_with_globals<rustc_interface[b943f00ad50b5541]::interface::run_compiler<core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>, rustc_driver_impl[ea51492c730803db]::run_compiler::{closure#1}>::{closure#0}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6e72eb595340d7ba]::result::Result<(), rustc_span[624dabdd61f2978b]::ErrorGuaranteed>>::{closure#1} as core[6e72eb595340d7ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7f972f975695 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61eb867555625a06
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/alloc/src/boxed.rs:2010:9
  54:     0x7f972f975695 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb80c29f89b136b72
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/alloc/src/boxed.rs:2010:9
  55:     0x7f972f975695 - std::sys::unix::thread::Thread::new::thread_start::hf4205715d65b27a6
                               at /rustc/5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0/library/std/src/sys/unix/thread.rs:108:17
  56:     0x7f972f70d44b - <unknown>
  57:     0x7f972f790e40 - <unknown>
  58:                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.72.0-nightly (5bd28f5ea 2023-06-28) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [layout_of] computing layout of `core::mem::maybe_uninit::MaybeUninit<str>`
#1 [layout_of] computing layout of `[static generator@treereduce.out:4:14: 4:23]`
#2 [mir_drops_elaborated_and_const_checked] elaborating drops for `foo`
#3 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 2 previous errors

Some errors have detailed explanations: E0161, E0507.
For more information about an error, try `rustc --explain E0161`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-coroutinesArea: CoroutinesC-bugCategory: This is a bug.F-coroutines`#![feature(coroutines)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions