Skip to content

ICE: -Zprint-type-sizes: generators: overlap-locals.rs #105591

Closed
@matthiaskrgr

Description

Code

from src/test/ui/generator/overlap-locals.rs

// run-pass

#![feature(generators)]

fn main() {
    let a = || {
        {
            let w: i32 = 4;
            yield;
            println!("{:?}", w);
        }
        {
            let z: i32 = 7;
            yield;
            println!("{:?}", z);
        }
    };
    assert_eq!(8, std::mem::size_of_val(&a));
}

Meta

rustc --version --verbose:

rustc 1.68.0-nightly (bdb07a8ec 2022-12-11)
binary: rustc
commit-hash: bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4
commit-date: 2022-12-11
host: x86_64-unknown-linux-gnu
release: 1.68.0-nightly
LLVM version: 15.0.6

Error output

rustc src/test/ui/generator/overlap-locals.rs -Zprint-type-sizes

<output>
Backtrace

print-type-size type: `std::fmt::Formatter<'_>`: 64 bytes, alignment: 8 bytes
print-type-size     field `.buf`: 16 bytes
print-type-size     field `.width`: 16 bytes
print-type-size     field `.precision`: 16 bytes
print-type-size     field `.flags`: 4 bytes
print-type-size     field `.fill`: 4 bytes
print-type-size     field `.align`: 1 bytes
print-type-size     end padding: 7 bytes
print-type-size type: `std::fmt::Arguments<'_>`: 48 bytes, alignment: 8 bytes
print-type-size     field `.fmt`: 16 bytes
print-type-size     field `.pieces`: 16 bytes
print-type-size     field `.args`: 16 bytes
print-type-size type: `std::option::Option<std::fmt::Arguments<'_>>`: 48 bytes, alignment: 8 bytes
print-type-size     variant `Some`: 48 bytes
print-type-size         field `.0`: 48 bytes
print-type-size     variant `None`: 0 bytes
print-type-size type: `unwind::libunwind::_Unwind_Exception`: 32 bytes, alignment: 8 bytes
print-type-size     field `.exception_class`: 8 bytes
print-type-size     field `.exception_cleanup`: 8 bytes
print-type-size     field `.private`: 16 bytes
print-type-size type: `std::panic::Location<'_>`: 24 bytes, alignment: 8 bytes
print-type-size     field `.file`: 16 bytes
print-type-size     field `.line`: 4 bytes
print-type-size     field `.col`: 4 bytes
print-type-size type: `std::option::Option<&[std::fmt::rt::v1::Argument]>`: 16 bytes, alignment: 8 bytes
print-type-size     variant `Some`: 16 bytes
print-type-size         field `.0`: 16 bytes
print-type-size     variant `None`: 0 bytes
print-type-size type: `std::option::Option<usize>`: 16 bytes, alignment: 8 bytes
print-type-size     discriminant: 8 bytes
print-type-size     variant `Some`: 8 bytes
print-type-size         field `.0`: 8 bytes
print-type-size     variant `None`: 0 bytes
print-type-size type: `[closure@std::rt::lang_start<()>::{closure#0}]`: 8 bytes, alignment: 8 bytes
print-type-size     end padding: 8 bytes
print-type-size type: `[generator@/home/matthias/vcs/github/rust/src/test/ui/generator/overlap-locals.rs:6:13: 6:15]`: 8 bytes, alignment: 4 bytes
print-type-size     discriminant: 1 bytes
print-type-size     variant `Suspend0`: 8 bytes
print-type-size         padding: 3 bytes
print-type-size         field `.w`: 4 bytes, alignment: 4 bytes
print-type-size     variant `Suspend1`: 8 bytes
print-type-size         padding: 3 bytes
print-type-size         field `.z`: 4 bytes, alignment: 4 bytes
print-type-size     variant `Unresumed`: 0 bytes
print-type-size     variant `Returned`: 0 bytes
print-type-size     variant `Panicked`: 0 bytes
thread '<unnamed>' panicked at 'max_variant_size 9 > 8 overall_size', compiler/rustc_session/src/code_stats.rs:177:25
stack backtrace:
   0:     0x7fb6295667da - std::backtrace_rs::backtrace::libunwind::trace::h3bfe63c4aecfa0e2
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fb6295667da - std::backtrace_rs::backtrace::trace_unsynchronized::h978c02637c6cb8f9
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb6295667da - std::sys_common::backtrace::_print_fmt::h86a708dcb1665377
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fb6295667da - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hdbf89765373fb801
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fb6295c92ee - core::fmt::write::hbf11a3bb4e6d2aba
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/fmt/mod.rs:1208:17
   5:     0x7fb629556c65 - std::io::Write::write_fmt::hd68261eacc348bbd
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/io/mod.rs:1682:15
   6:     0x7fb6295665a5 - std::sys_common::backtrace::_print::ha8e375b58cdeca4a
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fb6295665a5 - std::sys_common::backtrace::print::he3086c07df1167ca
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fb6295692ef - std::panicking::default_hook::{{closure}}::h0c12a9095c948e43
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:267:22
   9:     0x7fb62956902b - std::panicking::default_hook::h1ae5478ad617eb24
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:286:9
  10:     0x7fb629569b0c - std::panicking::rust_panic_with_hook::h63a24f957ccb5d93
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:688:13
  11:     0x7fb6295698a9 - std::panicking::begin_panic_handler::{{closure}}::h1499194b322f3b28
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:579:13
  12:     0x7fb629566c8c - std::sys_common::backtrace::__rust_end_short_backtrace::h5569dab7b5c29ca8
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x7fb6295695b2 - rust_begin_unwind
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:575:5
  14:     0x7fb6295c5cd3 - core::panicking::panic_fmt::h81b99a9e904184d4
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/panicking.rs:64:14
  15:     0x7fb62d29e324 - <rustc_session[8c69ddbebe7c913d]::code_stats::CodeStats>::print_type_sizes
  16:     0x7fb62ba7f3ce - <rustc_interface[649c07bcaa826da7]::interface::Compiler>::enter::<rustc_driver[c8d19d3afee4bdc9]::run_compiler::{closure#1}::{closure#2}, core[5029ced7f280b950]::result::Result<core[5029ced7f280b950]::option::Option<rustc_interface[649c07bcaa826da7]::queries::Linker>, rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>
  17:     0x7fb62ba79f78 - rustc_span[61aa4dc18b27dd6c]::with_source_map::<core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>, rustc_interface[649c07bcaa826da7]::interface::run_compiler<core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>, rustc_driver[c8d19d3afee4bdc9]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  18:     0x7fb62ba79a65 - <scoped_tls[5892410b08f734b5]::ScopedKey<rustc_span[61aa4dc18b27dd6c]::SessionGlobals>>::set::<rustc_interface[649c07bcaa826da7]::interface::run_compiler<core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>, rustc_driver[c8d19d3afee4bdc9]::run_compiler::{closure#1}>::{closure#0}, core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>
  19:     0x7fb62ba79052 - std[ebc28cf04754cd8d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[649c07bcaa826da7]::util::run_in_thread_pool_with_globals<rustc_interface[649c07bcaa826da7]::interface::run_compiler<core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>, rustc_driver[c8d19d3afee4bdc9]::run_compiler::{closure#1}>::{closure#0}, core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>
  20:     0x7fb62c0ecfee - <<std[ebc28cf04754cd8d]::thread::Builder>::spawn_unchecked_<rustc_interface[649c07bcaa826da7]::util::run_in_thread_pool_with_globals<rustc_interface[649c07bcaa826da7]::interface::run_compiler<core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>, rustc_driver[c8d19d3afee4bdc9]::run_compiler::{closure#1}>::{closure#0}, core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5029ced7f280b950]::result::Result<(), rustc_errors[4c9e772a36c84051]::ErrorGuaranteed>>::{closure#1} as core[5029ced7f280b950]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  21:     0x7fb62d5da623 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::heae35e1afc4b24eb
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/boxed.rs:2000:9
  22:     0x7fb62d5da623 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h82b51f76f931d41c
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/boxed.rs:2000:9
  23:     0x7fb62d5da623 - std::sys::unix::thread::Thread::new::thread_start::h66d484584973ef33
                               at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/sys/unix/thread.rs:108:17
  24:     0x7fb6293068fd - <unknown>
  25:     0x7fb629388a60 - <unknown>
  26:                0x0 - <unknown>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Labels

C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions