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: Unsigned value 0x100 does not fit in 8 bits #123690

Open
matthiaskrgr opened this issue Apr 9, 2024 · 4 comments
Open

ICE: Unsigned value 0x100 does not fit in 8 bits #123690

matthiaskrgr opened this issue Apr 9, 2024 · 4 comments
Labels
A-layout Area: Memory layout of types A-MIR Area: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.html C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

matthiaskrgr commented Apr 9, 2024

auto-reduced (treereduce-rust): (from miri: tests/pass/enums.rs )

fn more_discriminant_overflow() {
    pub enum Infallible {}

    pub enum E1 {
        V2 {},
        V3,
        V4,
    }

    #[repr(u8)]

    pub enum E2<X> {
        V1 { f: bool },

        /*_00*/ _01(X),
        _02(X),
        _03(X),
        _04(X),
        _05(X),
        _06(X),
        _07(X),
        _08(X),
        _09(X),
        _0A(X),
        _0B(X),
        _0C(X),
        _0D(X),
        _0E(X),
        _0F(X),
        _10(X),
        _11(X),
        _12(X),
        _13(X),
        _14(X),
        _15(X),
        _16(X),
        _17(X),
        _18(X),
        _19(X),
        _1A(X),
        _1B(X),
        _1C(X),
        _1D(X),
        _1E(X),
        _1F(X),
        _20(X),
        _21(X),
        _22(X),
        _23(X),
        _24(X),
        _25(X),
        _26(X),
        _27(X),
        _28(X),
        _29(X),
        _2A(X),
        _2B(X),
        _2C(X),
        _2D(X),
        _2E(X),
        _2F(X),
        _30(X),
        _31(X),
        _32(X),
        _33(X),
        _34(X),
        _35(X),
        _36(X),
        _37(X),
        _38(X),
        _39(X),
        _3A(X),
        _3B(X),
        _3C(X),
        _3D(X),
        _3E(X),
        _3F(X),
        _40(X),
        _41(X),
        _42(X),
        _43(X),
        _44(X),
        _45(X),
        _46(X),
        _47(X),
        _48(X),
        _49(X),
        _4A(X),
        _4B(X),
        _4C(X),
        _4D(X),
        _4E(X),
        _4F(X),
        _50(X),
        _51(X),
        _52(X),
        _53(X),
        _54(X),
        _55(X),
        _56(X),
        _57(X),
        _58(X),
        _59(X),
        _5A(X),
        _5B(X),
        _5C(X),
        _5D(X),
        _5E(X),
        _5F(X),
        _60(X),
        _61(X),
        _62(X),
        _63(X),
        _64(X),
        _65(X),
        _66(X),
        _67(X),
        _68(X),
        _69(X),
        _6A(X),
        _6B(X),
        _6C(X),
        _6D(X),
        _6E(X),
        _6F(X),
        _70(X),
        _71(X),
        _72(X),
        _73(X),
        _74(E1),
        _75(X),
        _76(X),
        _77(X),
        _78(X),
        _79(X),
        _7A(X),
        _7B(X),
        _7C(X),
        _7D(X),
        _7E(X),
        _7F(X),
        _80(X),
        _81(X),
        _82(X),
        _83(X),
        _84(X),
        _85(X),
        _86(X),
        _87(X),
        _88(X),
        _89(X),
        _8A(X),
        _8B(X),
        _8C(X),
        _8D(X),
        _8E(X),
        _8F(X),
        _90(X),
        _91(X),
        _92(X),
        _93(X),
        _94(X),
        _95(X),
        _96(X),
        _97(X),
        _98(X),
        _99(X),
        _9A(X),
        _9B(X),
        _9C(X),
        _9D(X),
        _9E(X),
        _9F(X),
        _A0(X),
        _A1(X),
        _A2(X),
        _A3(X),
        _A4(X),
        _A5(X),
        _A6(X),
        _A7(X),
        _A8(X),
        _A9(X),
        _AA(X),
        _AB(X),
        _AC(X),
        _AD(X),
        _AE(X),
        _AF(X),
        _B0(X),
        _B1(X),
        _B2(X),
        _B3(X),
        _B4(X),
        _B5(X),
        _B6(X),
        _B7(X),
        _B8(X),
        _B9(X),
        _BA(X),
        _BB(X),
        _BC(X),
        _BD(X),
        _BE(X),
        _BF(X),
        _C0(X),
        _C1(X),
        _C2(X),
        _C3(X),
        _C4(X),
        _C5(X),
        _C6(X),
        _D8(X),
        _C8(X),
        _C9(X),
        _CA(X),
        _CB(X),
        _CC(X),
        _CD(X),
        _CE(X),
        _CF(X),
        _D0(X),
        _D1(X),
        _D2(X),
        _D3(X),
        _D4(X),
        _D5(X),
        _D6(X),
        _D7(X),
        _D8(X),
        _D9(X),
        _DA(X),
        _DB(X),
        _DC(X),
        _DD(X),
        _DE(X),
        _DF(X),
        _E0(X),
        _E1(X),
        _E2(X),
        _E3(X),
        _E4(X),
        _E5(X),
        _E6(X),
        _E7(X),
        _E8(X),
        _E9(X),
        _EA(X),
        _EB(X),
        _EC(X),
        _ED(X),
        _EE(X),
        _EF(i32, i32),
        _F0(X),
        _F1(X),
        _F2(X),
        _F3(X),
        _F4(X),
        _F5(X),
        _F6(X),
        _F7(X),
        _F8(X),
        _F9(X),
        _FA(X),
        _FB(X),
        _FC(X),
        _FD(X),
        _FE(X),
        _FF(X),

        V3,
        V4,
    }

    if let E2::V1 { .. } = E2::V3::<Infallible> {}
}
original code

original:

fn more_discriminant_overflow() {
    pub enum Infallible {}

    
    
    
    
    pub enum E1 {
        V2 {  },
        V3,
        V4,
    }

    
    
    
    #[repr(u8)]
     
    pub enum E2<X> {
        V1 { f: bool },

        /*_00*/ _01(X), _02(X), _03(X), _04(X), _05(X), _06(X), _07(X),
        _08(X), _09(X), _0A(X), _0B(X), _0C(X), _0D(X), _0E(X), _0F(X),
        _10(X), _11(X), _12(X), _13(X), _14(X), _15(X), _16(X), _17(X),
        _18(X), _19(X), _1A(X), _1B(X), _1C(X), _1D(X), _1E(X), _1F(X),
        _20(X), _21(X), _22(X), _23(X), _24(X), _25(X), _26(X), _27(X),
        _28(X), _29(X), _2A(X), _2B(X), _2C(X), _2D(X), _2E(X), _2F(X),
        _30(X), _31(X), _32(X), _33(X), _34(X), _35(X), _36(X), _37(X),
        _38(X), _39(X), _3A(X), _3B(X), _3C(X), _3D(X), _3E(X), _3F(X),
        _40(X), _41(X), _42(X), _43(X), _44(X), _45(X), _46(X), _47(X),
        _48(X), _49(X), _4A(X), _4B(X), _4C(X), _4D(X), _4E(X), _4F(X),
        _50(X), _51(X), _52(X), _53(X), _54(X), _55(X), _56(X), _57(X),
        _58(X), _59(X), _5A(X), _5B(X), _5C(X), _5D(X), _5E(X), _5F(X),
        _60(X), _61(X), _62(X), _63(X), _64(X), _65(X), _66(X), _67(X),
        _68(X), _69(X), _6A(X), _6B(X), _6C(X), _6D(X), _6E(X), _6F(X),
        _70(X), _71(X), _72(X), _73(X), _74(E1), _75(X), _76(X), _77(X),
        _78(X), _79(X), _7A(X), _7B(X), _7C(X), _7D(X), _7E(X), _7F(X),
        _80(X), _81(X), _82(X), _83(X), _84(X), _85(X), _86(X), _87(X),
        _88(X), _89(X), _8A(X), _8B(X), _8C(X), _8D(X), _8E(X), _8F(X),
        _90(X), _91(X), _92(X), _93(X), _94(X), _95(X), _96(X), _97(X),
        _98(X), _99(X), _9A(X), _9B(X), _9C(X), _9D(X), _9E(X), _9F(X),
        _A0(X), _A1(X), _A2(X), _A3(X), _A4(X), _A5(X), _A6(X), _A7(X),
        _A8(X), _A9(X), _AA(X), _AB(X), _AC(X), _AD(X), _AE(X), _AF(X),
        _B0(X), _B1(X), _B2(X), _B3(X), _B4(X), _B5(X), _B6(X), _B7(X),
        _B8(X), _B9(X), _BA(X), _BB(X), _BC(X), _BD(X), _BE(X), _BF(X),
        _C0(X), _C1(X), _C2(X), _C3(X), _C4(X), _C5(X), _C6(X), _D8(X),
        _C8(X), _C9(X), _CA(X), _CB(X), _CC(X), _CD(X), _CE(X), _CF(X),
        _D0(X), _D1(X), _D2(X), _D3(X), _D4(X), _D5(X), _D6(X), _D7(X),
        _D8(X), _D9(X), _DA(X), _DB(X), _DC(X), _DD(X), _DE(X), _DF(X),
        _E0(X), _E1(X), _E2(X), _E3(X), _E4(X), _E5(X), _E6(X), _E7(X),
        _E8(X), _E9(X), _EA(X), _EB(X), _EC(X), _ED(X), _EE(X), _EF(i32, i32),
        _F0(X), _F1(X), _F2(X), _F3(X), _F4(X), _F5(X), _F6(X), _F7(X),
        _F8(X), _F9(X), _FA(X), _FB(X), _FC(X), _FD(X), _FE(X), _FF(X),

        V3,
        V4,
    }

    
    

    if let E2::V1 { .. } = E2::V3::<Infallible> {
        
    }
    
}

Version information

rustc 1.79.0-nightly (033becf83 2024-04-09)
binary: rustc
commit-hash: 033becf83c62814357f4810db149471db46ab816
commit-date: 2024-04-09
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.3

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error[E0428]: the name `_D8` is defined multiple times
   --> /tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs:230:9
    |
213 |         _D8(X),
    |         ------ previous definition of the type `_D8` here
...
230 |         _D8(X),
    |         ^^^^^^ `_D8` redefined here
    |
    = note: `_D8` must be defined only once in the type namespace of this enum

error[E0601]: `main` function not found in crate `mvce`
   --> /tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs:276:2
    |
276 | }
    |  ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs`

error[E0370]: enum discriminant overflowed
   --> /tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs:271:9
    |
271 |         V3,
    |         ^^ overflowed on value after 255
    |
    = note: explicitly set `V3 = 0` if that is desired outcome

error[E0081]: discriminant value `0` assigned more than once
   --> /tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs:12:5
    |
12  |     pub enum E2<X> {
    |     ^^^^^^^^^^^^^^
13  |         V1 { f: bool },
    |         --
    |         |
    |         `0` assigned here
    |         discriminant for `V3` incremented from this startpoint (`V1` + 256 variants later => `V3` = 0)
...
271 |         V3,
    |         -- `0` assigned here

error[E0081]: discriminant value `1` assigned more than once
   --> /tmp/icemaker_global_tempdir.7SPizWTj47xD/rustc_testrunner_tmpdir_reporting.iDiOmTF2oX4J/mvce.rs:12:5
    |
12  |     pub enum E2<X> {
    |     ^^^^^^^^^^^^^^
13  |         V1 { f: bool },
    |         --
    |         |
    |         discriminant for `_01` incremented from this startpoint (`V1` + 1 variant later => `_01` = 1)
    |         discriminant for `V4` incremented from this startpoint (`V1` + 257 variants later => `V4` = 1)
14  |
15  |         /*_00*/ _01(X),
    |                 --- `1` assigned here
...
272 |         V4,
    |         -- `1` assigned here

error: internal compiler error: /rustc/033becf83c62814357f4810db149471db46ab816/compiler/rustc_middle/src/mir/interpret/value.rs:134:32: Unsigned value 0x100 does not fit in 8 bits

thread 'rustc' panicked at /rustc/033becf83c62814357f4810db149471db46ab816/compiler/rustc_middle/src/mir/interpret/value.rs:134:32:
Box<dyn Any>
stack backtrace:
   0:     0x7b17329d9885 - std::backtrace_rs::backtrace::libunwind::trace::he2880c2699337794
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7b17329d9885 - std::backtrace_rs::backtrace::trace_unsynchronized::h460ebc9cd0eb6331
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7b17329d9885 - std::sys_common::backtrace::_print_fmt::h47b746c0604572c3
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7b17329d9885 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha907b996746f56a0
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7b1732a28abb - core::fmt::rt::Argument::fmt::hfe22b646b1687193
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/core/src/fmt/rt.rs:142:9
   5:     0x7b1732a28abb - core::fmt::write::h6b4a267d08f3d00d
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/core/src/fmt/mod.rs:1153:17
   6:     0x7b17329ce3ff - std::io::Write::write_fmt::h0abdd14d11c1702a
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/io/mod.rs:1843:15
   7:     0x7b17329d965e - std::sys_common::backtrace::_print::hbeb8c9c7793a4a1e
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7b17329d965e - std::sys_common::backtrace::print::h6ca4866d684d9b00
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7b17329dc159 - std::panicking::default_hook::{{closure}}::h33647e3098e0b657
  10:     0x7b17329dbe75 - std::panicking::default_hook::ha6320bcd5d0e9cc8
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/panicking.rs:291:9
  11:     0x7b172f26649f - std[5013708940097fa8]::panicking::update_hook::<alloc[d2bd3d5c53f6cb06]::boxed::Box<rustc_driver_impl[83e8eb7d3795c9f9]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7b17329dc85c - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hf428354f3713bf5b
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/alloc/src/boxed.rs:2032:9
  13:     0x7b17329dc85c - std::panicking::rust_panic_with_hook::h0014da0b7030d171
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/panicking.rs:792:13
  14:     0x7b172f296504 - std[5013708940097fa8]::panicking::begin_panic::<rustc_errors[6d6b100434177d40]::ExplicitBug>::{closure#0}
  15:     0x7b172f292fa6 - std[5013708940097fa8]::sys_common::backtrace::__rust_end_short_backtrace::<std[5013708940097fa8]::panicking::begin_panic<rustc_errors[6d6b100434177d40]::ExplicitBug>::{closure#0}, !>
  16:     0x7b172f28e5c6 - std[5013708940097fa8]::panicking::begin_panic::<rustc_errors[6d6b100434177d40]::ExplicitBug>
  17:     0x7b172f2a0241 - <rustc_errors[6d6b100434177d40]::diagnostic::BugAbort as rustc_errors[6d6b100434177d40]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  18:     0x7b172f74212c - rustc_middle[867c8a7f7f3067fc]::util::bug::opt_span_bug_fmt::<rustc_span[ef049dfdad08a076]::span_encoding::Span>::{closure#0}
  19:     0x7b172f72956a - rustc_middle[867c8a7f7f3067fc]::ty::context::tls::with_opt::<rustc_middle[867c8a7f7f3067fc]::util::bug::opt_span_bug_fmt<rustc_span[ef049dfdad08a076]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  20:     0x7b172f72940b - rustc_middle[867c8a7f7f3067fc]::ty::context::tls::with_context_opt::<rustc_middle[867c8a7f7f3067fc]::ty::context::tls::with_opt<rustc_middle[867c8a7f7f3067fc]::util::bug::opt_span_bug_fmt<rustc_span[ef049dfdad08a076]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  21:     0x7b172d353250 - rustc_middle[867c8a7f7f3067fc]::util::bug::bug_fmt
  22:     0x7b1731ca62e5 - <rustc_const_eval[7cbea1700b739c82]::interpret::eval_context::InterpCx<rustc_const_eval[7cbea1700b739c82]::const_eval::dummy_machine::DummyMachine>>::discriminant_for_variant.cold
  23:     0x7b17313bf09b - <rustc_mir_transform[3ac67f783d646433]::known_panics_lint::ConstPropagator>::use_ecx::<<rustc_mir_transform[3ac67f783d646433]::known_panics_lint::ConstPropagator>::eval_rvalue::{closure#0}::{closure#11}, rustc_const_eval[7cbea1700b739c82]::interpret::operand::ImmTy>
  24:     0x7b172da8e733 - <rustc_mir_transform[3ac67f783d646433]::known_panics_lint::ConstPropagator as rustc_middle[867c8a7f7f3067fc]::mir::visit::Visitor>::visit_assign
  25:     0x7b1730ffb2bb - <rustc_mir_transform[3ac67f783d646433]::known_panics_lint::ConstPropagator as rustc_middle[867c8a7f7f3067fc]::mir::visit::Visitor>::visit_body
  26:     0x7b172de9aad3 - <rustc_mir_transform[3ac67f783d646433]::known_panics_lint::KnownPanicsLint as rustc_mir_transform[3ac67f783d646433]::pass_manager::MirLint>::run_lint
  27:     0x7b173060188d - rustc_mir_transform[3ac67f783d646433]::pass_manager::run_passes_inner
  28:     0x7b1730c2ed02 - rustc_mir_transform[3ac67f783d646433]::mir_drops_elaborated_and_const_checked
  29:     0x7b1730c2e63d - rustc_query_impl[a13915abec574cc4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a13915abec574cc4]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[867c8a7f7f3067fc]::query::erase::Erased<[u8; 8usize]>>
  30:     0x7b17307d0871 - rustc_query_system[37cb0ad7182a86b8]::query::plumbing::try_execute_query::<rustc_query_impl[a13915abec574cc4]::DynamicConfig<rustc_query_system[37cb0ad7182a86b8]::query::caches::VecCache<rustc_span[ef049dfdad08a076]::def_id::LocalDefId, rustc_middle[867c8a7f7f3067fc]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[a13915abec574cc4]::plumbing::QueryCtxt, false>
  31:     0x7b17307d0162 - rustc_query_impl[a13915abec574cc4]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
  32:     0x7b1730eef693 - rustc_interface[791da96d69a7cf4c]::passes::analysis
  33:     0x7b1730eee495 - rustc_query_impl[a13915abec574cc4]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a13915abec574cc4]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[867c8a7f7f3067fc]::query::erase::Erased<[u8; 1usize]>>
  34:     0x7b17313fa6a5 - rustc_query_system[37cb0ad7182a86b8]::query::plumbing::try_execute_query::<rustc_query_impl[a13915abec574cc4]::DynamicConfig<rustc_query_system[37cb0ad7182a86b8]::query::caches::SingleCache<rustc_middle[867c8a7f7f3067fc]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a13915abec574cc4]::plumbing::QueryCtxt, false>
  35:     0x7b17313fa409 - rustc_query_impl[a13915abec574cc4]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7b1731280cd4 - rustc_interface[791da96d69a7cf4c]::interface::run_compiler::<core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>, rustc_driver_impl[83e8eb7d3795c9f9]::run_compiler::{closure#0}>::{closure#0}
  37:     0x7b173134deff - std[5013708940097fa8]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[791da96d69a7cf4c]::util::run_in_thread_with_globals<rustc_interface[791da96d69a7cf4c]::util::run_in_thread_pool_with_globals<rustc_interface[791da96d69a7cf4c]::interface::run_compiler<core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>, rustc_driver_impl[83e8eb7d3795c9f9]::run_compiler::{closure#0}>::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>
  38:     0x7b173134dcee - <<std[5013708940097fa8]::thread::Builder>::spawn_unchecked_<rustc_interface[791da96d69a7cf4c]::util::run_in_thread_with_globals<rustc_interface[791da96d69a7cf4c]::util::run_in_thread_pool_with_globals<rustc_interface[791da96d69a7cf4c]::interface::run_compiler<core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>, rustc_driver_impl[83e8eb7d3795c9f9]::run_compiler::{closure#0}>::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b815557cbe89e06]::result::Result<(), rustc_span[ef049dfdad08a076]::ErrorGuaranteed>>::{closure#1} as core[b815557cbe89e06]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  39:     0x7b17329e628b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h53814b1241345312
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/alloc/src/boxed.rs:2018:9
  40:     0x7b17329e628b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h68f33d2823fce7a0
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/alloc/src/boxed.rs:2018:9
  41:     0x7b17329e628b - std::sys::pal::unix::thread::Thread::new::thread_start::h5c5183b404e56855
                               at /rustc/033becf83c62814357f4810db149471db46ab816/library/std/src/sys/pal/unix/thread.rs:108:17
  42:     0x7b173278455a - <unknown>
  43:     0x7b1732801a3c - <unknown>
  44:                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.79.0-nightly (033becf83 2024-04-09) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `more_discriminant_overflow`
#1 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 6 previous errors

Some errors have detailed explanations: E0081, E0370, E0428, E0601.
For more information about an error, try `rustc --explain E0081`.

@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. labels Apr 9, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Apr 9, 2024
@matthiaskrgr
Copy link
Member Author

#120550 cc @oli-obk

@matthiaskrgr
Copy link
Member Author

with debug assertions:

thread 'rustc' panicked at compiler/rustc_middle/src/ty/util.rs:92:30:
attempt to subtract with overflow
stack backtrace:
   0:     0x739bf0580a44 - std::backtrace_rs::backtrace::libunwind::trace::h265d1925ea598df2
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x739bf0580a44 - std::backtrace_rs::backtrace::trace_unsynchronized::hb7395057f0c5468d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x739bf0580a44 - std::sys_common::backtrace::_print_fmt::h3d47c991162d4e52
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x739bf0580a44 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hacda344c49f35c2d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x739bf05c37e5 - core::fmt::rt::Argument::fmt::h73fccf37a3b29a55
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/rt.rs:142:9
   5:     0x739bf05c37e5 - core::fmt::write::h5e0aa268252d3b32
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1153:17
   6:     0x739bf054b6d9 - std::io::Write::write_fmt::hd8859b8fbc5fad9b
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1843:15
   7:     0x739bf05807fe - std::sys_common::backtrace::_print::hd162dc200d0a9165
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x739bf05807fe - std::sys_common::backtrace::print::h5331a7a997abba9a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x739bf056684a - std::panicking::default_hook::{{closure}}::hde322b8785a305f9
  10:     0x739bf0566546 - std::panicking::default_hook::h8bb4e5b2167fa65c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:291:9
  11:     0x739bf318e198 - rustc_driver_impl[3245b2fc008c51d3]::install_ice_hook::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:1351:17
  12:     0x739bf318e198 - <alloc[7a6344611ae1f7a8]::boxed::Box<rustc_driver_impl[3245b2fc008c51d3]::install_ice_hook::{closure#0}> as core[bf256ce745c7f201]::ops::function::Fn<(&dyn for<'a, 'b> core[bf256ce745c7f201]::ops::function::Fn<(&'a core[bf256ce745c7f201]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[bf256ce745c7f201]::marker::Send + core[bf256ce745c7f201]::marker::Sync, &core[bf256ce745c7f201]::panic::panic_info::PanicInfo)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  13:     0x739bf0566dd1 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8e32d665fbe06219
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  14:     0x739bf0566dd1 - std::panicking::rust_panic_with_hook::h6c21735fa2b9110c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:792:13
  15:     0x739bf0581c7d - std::panicking::begin_panic_handler::{{closure}}::h34f9e231b5a18255
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:649:13
  16:     0x739bf0580cc9 - std::sys_common::backtrace::__rust_end_short_backtrace::hc90aaf921d8b9378
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:171:18
  17:     0x739bf05669e7 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:645:5
  18:     0x739bf05d9d56 - core::panicking::panic_fmt::hdfac44aca47052e0
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:72:14
  19:     0x739bf05ded4c - core::panicking::panic_const::panic_const_sub_overflow::h34997297501b71ab
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:175:21
  20:     0x739bf44c7a74 - <rustc_middle[340db270b268494c]::ty::util::Discr>::checked_add
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/util.rs:92:30
  21:     0x739bf4931424 - <rustc_middle[340db270b268494c]::ty::adt::AdtDef>::discriminant_for_variant
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/adt.rs:546:9
  22:     0x739bf492a028 - <rustc_middle[340db270b268494c]::ty::Ty>::discriminant_for_variant
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/sty.rs:2264:22
  23:     0x739bf492a028 - <rustc_const_eval[1582c154f4b9e859]::interpret::eval_context::InterpCx<rustc_const_eval[1582c154f4b9e859]::const_eval::dummy_machine::DummyMachine>>::discriminant_for_variant
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_const_eval/src/interpret/discriminant.rs:215:33
  24:     0x739bf48f98e1 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator>::eval_rvalue::{closure#0}::{closure#11}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:688:21
  25:     0x739bf48f98e1 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator>::use_ecx::<<rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator>::eval_rvalue::{closure#0}::{closure#11}, rustc_const_eval[1582c154f4b9e859]::interpret::operand::ImmTy>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:230:15
  26:     0x739bf48ffad7 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator>::eval_rvalue::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:687:27
  27:     0x739bf48ffad7 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator>::eval_rvalue
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:534:5
  28:     0x739bf48ffad7 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::visit_assign
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:736:20
  29:     0x739bf4900b2d - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::super_statement
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:383:25
  30:     0x739bf4900b2d - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::visit_statement
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:763:9
  31:     0x739bf4902cce - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::super_basic_block_data
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/mir/visit.rs:307:21
  32:     0x739bf4902cce - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::visit_basic_block_data
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:828:9
  33:     0x739bf48fc6b0 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::ConstPropagator as rustc_middle[340db270b268494c]::mir::visit::Visitor>::visit_body
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:712:13
  34:     0x739bf48f7100 - <rustc_mir_transform[a7a52c3ad06100ca]::known_panics_lint::KnownPanicsLint as rustc_mir_transform[a7a52c3ad06100ca]::pass_manager::MirLint>::run_lint
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/known_panics_lint.rs:57:9
  35:     0x739bf48071de - rustc_mir_transform[a7a52c3ad06100ca]::pass_manager::run_passes_inner
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/pass_manager.rs:144:17
  36:     0x739bf4818db9 - rustc_mir_transform[a7a52c3ad06100ca]::pass_manager::run_passes_no_validate
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/pass_manager.rs:77:5
  37:     0x739bf4818db9 - rustc_mir_transform[a7a52c3ad06100ca]::run_runtime_lowering_passes
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/lib.rs:528:5
  38:     0x739bf4818db9 - rustc_mir_transform[a7a52c3ad06100ca]::run_analysis_to_runtime_passes
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/lib.rs:484:5
  39:     0x739bf481849b - rustc_mir_transform[a7a52c3ad06100ca]::mir_drops_elaborated_and_const_checked
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_mir_transform/src/lib.rs:453:5
  40:     0x739bf5037273 - rustc_query_impl[e2adab7f048175ff]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:624:47
  41:     0x739bf5037273 - rustc_query_impl[e2adab7f048175ff]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2adab7f048175ff]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:548:18
  42:     0x739bf526892b - rustc_query_impl[e2adab7f048175ff]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:620:25
  43:     0x739bf526892b - <rustc_query_impl[e2adab7f048175ff]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2} as core[bf256ce745c7f201]::ops::function::FnOnce<(rustc_middle[340db270b268494c]::ty::context::TyCtxt, rustc_span[911f79266521dd07]::def_id::LocalDefId)>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
  44:     0x739bf4fa3a88 - <rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false> as rustc_query_system[4fa63941cdc3ebb8]::query::config::QueryConfig<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/lib.rs:113:9
  45:     0x739bf4fa3a88 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:469:72
  46:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  47:     0x739bf4fa3a88 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::try_with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:284:16
  48:     0x739bf4fa3a88 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:260:9
  49:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  50:     0x739bf4fa3a88 - <rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:151:13
  51:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::with_related_context::<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:134:9
  52:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::with_context::<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:112:36
  53:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::with_context_opt::<rustc_middle[340db270b268494c]::ty::context::tls::with_context<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:101:18
  54:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::with_context::<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:112:5
  55:     0x739bf4fa3a88 - rustc_middle[340db270b268494c]::ty::context::tls::with_related_context::<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:125:5
  56:     0x739bf4fa3a88 - <rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:136:9
  57:     0x739bf4fa3a88 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:469:18
  58:     0x739bf4fa3a88 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt, false>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:405:9
  59:     0x739bf4fa3a88 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::try_execute_query::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt, false>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:348:13
  60:     0x739bf51ed976 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:800:32
  61:     0x739bf51ed976 - stacker[2c12dcaf2787ac0e]::maybe_grow::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  62:     0x739bf51ed976 - rustc_data_structures[652bf30183ef56b3]::stack::ensure_sufficient_stack::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:17:5
  63:     0x739bf51ed976 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:800:5
  64:     0x739bf51ed976 - rustc_query_impl[e2adab7f048175ff]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:598:26
  65:     0x739bf3e91c2c - rustc_middle[340db270b268494c]::query::plumbing::query_ensure::<rustc_query_system[4fa63941cdc3ebb8]::query::caches::VecCache<rustc_span[911f79266521dd07]::def_id::LocalDefId, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 8usize]>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/query/plumbing.rs:172:9
  66:     0x739bf3e91c2c - <rustc_middle[340db270b268494c]::query::plumbing::TyCtxtEnsure>::mir_drops_elaborated_and_const_checked::<rustc_span[911f79266521dd07]::def_id::LocalDefId>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/query/plumbing.rs:207:9
  67:     0x739bf3e91c2c - rustc_interface[df967e2b539786db]::passes::run_required_analyses::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:752:17
  68:     0x739bf3e91c2c - <rustc_data_structures[652bf30183ef56b3]::profiling::VerboseTimingGuard>::run::<(), rustc_interface[df967e2b539786db]::passes::run_required_analyses::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:753:9
  69:     0x739bf3e91c2c - <rustc_session[7fd02da4d67d248f]::session::Session>::time::<(), rustc_interface[df967e2b539786db]::passes::run_required_analyses::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:15:9
  70:     0x739bf3dd5f6f - rustc_interface[df967e2b539786db]::passes::run_required_analyses
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:742:5
  71:     0x739bf3dd5f6f - rustc_interface[df967e2b539786db]::passes::analysis
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:770:5
  72:     0x739bf5039681 - rustc_query_impl[e2adab7f048175ff]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:624:47
  73:     0x739bf5039681 - rustc_query_impl[e2adab7f048175ff]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2adab7f048175ff]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:548:18
  74:     0x739bf5374c17 - rustc_query_impl[e2adab7f048175ff]::query_impl::analysis::dynamic_query::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:620:25
  75:     0x739bf5374c17 - <rustc_query_impl[e2adab7f048175ff]::query_impl::analysis::dynamic_query::{closure#2} as core[bf256ce745c7f201]::ops::function::FnOnce<(rustc_middle[340db270b268494c]::ty::context::TyCtxt, ())>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
  76:     0x739bf4eecf38 - <rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false> as rustc_query_system[4fa63941cdc3ebb8]::query::config::QueryConfig<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/lib.rs:113:9
  77:     0x739bf4eecf38 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:469:72
  78:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  79:     0x739bf4eecf38 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::try_with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:284:16
  80:     0x739bf4eecf38 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:260:9
  81:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  82:     0x739bf4eecf38 - <rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:151:13
  83:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::with_related_context::<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:134:9
  84:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::with_context::<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:112:36
  85:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::with_context_opt::<rustc_middle[340db270b268494c]::ty::context::tls::with_context<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:101:18
  86:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::with_context::<rustc_middle[340db270b268494c]::ty::context::tls::with_related_context<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:112:5
  87:     0x739bf4eecf38 - rustc_middle[340db270b268494c]::ty::context::tls::with_related_context::<<rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:125:5
  88:     0x739bf4eecf38 - <rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt as rustc_query_system[4fa63941cdc3ebb8]::query::QueryContext>::start_query::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:136:9
  89:     0x739bf4eecf38 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:469:18
  90:     0x739bf4eecf38 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::execute_job::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt, false>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:405:9
  91:     0x739bf4eecf38 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::try_execute_query::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt, false>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:348:13
  92:     0x739bf53db992 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:800:32
  93:     0x739bf53db992 - stacker[2c12dcaf2787ac0e]::maybe_grow::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  94:     0x739bf53db992 - rustc_data_structures[652bf30183ef56b3]::stack::ensure_sufficient_stack::<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:17:5
  95:     0x739bf53db992 - rustc_query_system[4fa63941cdc3ebb8]::query::plumbing::get_query_non_incr::<rustc_query_impl[e2adab7f048175ff]::DynamicConfig<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2adab7f048175ff]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:800:5
  96:     0x739bf53db992 - rustc_query_impl[e2adab7f048175ff]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:598:26
  97:     0x739bf31af877 - rustc_middle[340db270b268494c]::query::plumbing::query_get_at::<rustc_query_system[4fa63941cdc3ebb8]::query::caches::SingleCache<rustc_middle[340db270b268494c]::query::erase::Erased<[u8; 1usize]>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/query/plumbing.rs:156:17
  98:     0x739bf31af877 - <rustc_middle[340db270b268494c]::query::plumbing::TyCtxtAt>::analysis
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/query/mod.rs:2250:1
  99:     0x739bf31af877 - <rustc_middle[340db270b268494c]::ty::context::TyCtxt>::analysis
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/query/plumbing.rs:431:35
 100:     0x739bf31af877 - rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:441:52
 101:     0x739bf31af877 - <rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:778:37
 102:     0x739bf31af877 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<<rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 103:     0x739bf31af877 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::try_with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<<rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:284:16
 104:     0x739bf31af877 - <std[5dd5c2799579c4c8]::thread::local::LocalKey<core[bf256ce745c7f201]::cell::Cell<*const ()>>>::with::<rustc_middle[340db270b268494c]::ty::context::tls::enter_context<<rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:260:9
 105:     0x739bf31af877 - rustc_middle[340db270b268494c]::ty::context::tls::enter_context::<<rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:79:9
 106:     0x739bf31af877 - <rustc_middle[340db270b268494c]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:778:9
 107:     0x739bf31e262f - rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:441:13
 108:     0x739bf31e262f - <rustc_interface[df967e2b539786db]::interface::Compiler>::enter::<rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}::{closure#1}, core[bf256ce745c7f201]::result::Result<core[bf256ce745c7f201]::option::Option<rustc_interface[df967e2b539786db]::queries::Linker>, rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:309:19
 109:     0x739bf3198a2c - rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:389:22
 110:     0x739bf3198a2c - rustc_interface[df967e2b539786db]::interface::run_compiler::<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:457:31
 111:     0x739bf3198a2c - rustc_span[911f79266521dd07]::set_source_map::<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:1298:5
 112:     0x739bf31a631a - rustc_interface[df967e2b539786db]::interface::run_compiler::<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:443:13
 113:     0x739bf31a631a - rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals::<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:127:13
 114:     0x739bf31a631a - rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals::<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:87:69
 115:     0x739bf31a631a - <scoped_tls[ce67bb9be36aec5f]::ScopedKey<rustc_span[911f79266521dd07]::SessionGlobals>>::set::<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137:9
 116:     0x739bf31a631a - rustc_span[911f79266521dd07]::create_session_globals_then::<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:136:5
 117:     0x739bf31a631a - rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals::<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:87:17
 118:     0x739bf31a631a - std[5dd5c2799579c4c8]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:155:18
 119:     0x739bf3178646 - <std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_::<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:523:17
 120:     0x739bf3178646 - <core[bf256ce745c7f201]::panic::unwind_safe::AssertUnwindSafe<<std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[bf256ce745c7f201]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:272:9
 121:     0x739bf3178646 - std[5dd5c2799579c4c8]::panicking::try::do_call::<core[bf256ce745c7f201]::panic::unwind_safe::AssertUnwindSafe<<std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:552:40
 122:     0x739bf3178646 - std[5dd5c2799579c4c8]::panicking::try::<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, core[bf256ce745c7f201]::panic::unwind_safe::AssertUnwindSafe<<std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:516:19
 123:     0x739bf3178646 - std[5dd5c2799579c4c8]::panic::catch_unwind::<core[bf256ce745c7f201]::panic::unwind_safe::AssertUnwindSafe<<std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:149:14
 124:     0x739bf3178646 - <std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_::<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:522:30
 125:     0x739bf3178646 - <<std[5dd5c2799579c4c8]::thread::Builder>::spawn_unchecked_<rustc_interface[df967e2b539786db]::util::run_in_thread_with_globals<rustc_interface[df967e2b539786db]::util::run_in_thread_pool_with_globals<rustc_interface[df967e2b539786db]::interface::run_compiler<core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>, rustc_driver_impl[3245b2fc008c51d3]::run_compiler::{closure#0}>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf256ce745c7f201]::result::Result<(), rustc_span[911f79266521dd07]::ErrorGuaranteed>>::{closure#1} as core[bf256ce745c7f201]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
 126:     0x739bf0562cfc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8359d578612435ff
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2018:9
 127:     0x739bf0562cfc - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3bef1189ba9d16a8
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2018:9
 128:     0x739bf052dd1b - std::sys::pal::unix::thread::Thread::new::thread_start::hff4d30634718def3
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/pal/unix/thread.rs:108:17
 129:     0x739bf031c55a - <unknown>
 130:     0x739bf0399a3c - <unknown>
 131:                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: please attach the file at `/tmp/im/rustc-ice-2024-04-09T18_34_50-3770185.txt` to your bug report

query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `more_discriminant_overflow`
#1 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 5 previous errors

Some errors have detailed explanations: E0081, E0370, E0428, E0601.
For more information about an error, try `rustc --explain E0081`.

@jieyouxu jieyouxu added A-MIR Area: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.html E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example A-layout Area: Memory layout of types and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Apr 15, 2024
@matthiaskrgr matthiaskrgr added the S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. label Apr 18, 2024
@RalfJung
Copy link
Member

RalfJung commented May 6, 2024

The usual -- the type is invalid ("enum discriminant overflowed"), but we're running MIR passes on that code anyway and so things fail because the MIR references invalid types.

rustc is way too "good" at continuing the build when there was an error. Do we not have a systematic way to "taint" faulty data so that we can avoid later passes seeing invalid input?

Cc @oli-obk @lcnr

@olafes
Copy link
Contributor

olafes commented Jun 6, 2024

#[repr(u8)]
enum Enum {
    _00, _01, _02, _03, _04, _05, _06, _07, _08, _09, _0A, _0B, _0C, _0D, _0E, _0F, 
    _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1A, _1B, _1C, _1D, _1E, _1F, 
    _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2A, _2B, _2C, _2D, _2E, _2F, 
    _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3A, _3B, _3C, _3D, _3E, _3F, 
    _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4A, _4B, _4C, _4D, _4E, _4F, 
    _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5A, _5B, _5C, _5D, _5E, _5F, 
    _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _6A, _6B, _6C, _6D, _6E, _6F, 
    _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _7A, _7B, _7C, _7D, _7E, _7F, 
    _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _8A, _8B, _8C, _8D, _8E, _8F, 
    _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _9A, _9B, _9C, _9D, _9E, _9F, 
    _A0, _A1, _A2, _A3, _A4, _A5, _A6, _A7, _A8, _A9, _AA, _AB, _AC, _AD, _AE, _AF, 
    _B0, _B1, _B2, _B3, _B4, _B5, _B6, _B7, _B8, _B9, _BA, _BB, _BC, _BD, _BE, _BF, 
    _C0, _C1, _C2, _C3, _C4, _C5, _C6, _C7, _C8, _C9, _CA, _CB, _CC, _CD, _CE, _CF, 
    _D0, _D1, _D2, _D3, _D4, _D5, _D6, _D7, _D8, _D9, _DA, _DB, _DC, _DD, _DE, _DF, 
    _E0, _E1, _E2, _E3, _E4, _E5, _E6, _E7, _E8, _E9, _EA, _EB, _EC, _ED, _EE, _EF, 
    _F0, _F1, _F2, _F3, _F4, _F5, _F6, _F7, _F8, _F9, _FA, _FB, _FC, _FD, _FE, _FF,
    _100
}

fn main() {
    if let Enum::_00 = Enum::_100 {}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-layout Area: Memory layout of types A-MIR Area: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.html C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
Status: Todo
Development

No branches or pull requests

5 participants