Open
Description
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`.
Metadata
Metadata
Assignees
Labels
Area: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlArea: Memory layout of typesCategory: This is a bug.Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Status: This bug is tracked inside the repo by a `known-bug` test.Relevant to the compiler team, which will review and decide on the PR/issue.
Type
Projects
Status
Todo