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

Internal Compiler Error when extracting overflowing bit-shift constant into constant local #96944

Closed
epbuennig opened this issue May 11, 2022 · 7 comments · Fixed by #114543
Closed
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone

Comments

@epbuennig
Copy link

epbuennig commented May 11, 2022

Changing the commented out snippet to the uncommented one caused a ICE when building on nightly 1.62.0.
EDIT:
Moving the integer cast to before the shift fixes the ICE. (halves[0] as $int << HALF_SIZE)

Code

pub trait BitSplit {
    type Half;
    fn merge(halves: [Self::Half; 2]) -> Self;
}

macro_rules! impl_ints {
    ($int:ty => $half:ty; $mask:expr) => {
        impl BitSplit for $int {
            type Half = $half;
            #[inline]
            fn merge(halves: [Self::Half; 2]) -> Self {
                // stable: no error
                // nightly: no error
                (halves[0] << (std::mem::size_of::<$half>() * 8)) as $int | halves[1] as $int

                // stable: "shift will overflow" error
                // nightly: ICE as below
                //     const HALF_SIZE: usize = std::mem::size_of::<$half>() * 8;
                //     (halves[0] << HALF_SIZE) as $int | halves[1] as $int
            }
        }
    };
}

impl_ints!(u128 => u64; 0x0000_0000_0000_0000_FFFF_FFFF_FFFF_FFFF);
impl_ints!( u64 => u32;                     0x0000_0000_FFFF_FFFF);
impl_ints!( u32 => u16;                               0x0000_FFFF);
impl_ints!( u16 =>  u8;                                    0x00FF);

Meta

rustc --version --verbose:

rustc 1.62.0-nightly (ecd44958e 2022-05-10)
binary: rustc
commit-hash: ecd44958e0a21110d09862ee080d95a4ca6c52f8
commit-date: 2022-05-10
host: x86_64-unknown-linux-gnu
release: 1.62.0-nightly
LLVM version: 14.0.1

rustc +stable --version --verbose:

rustc 1.60.0 (7737e0b5c 2022-04-04)
binary: rustc
commit-hash: 7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c
commit-date: 2022-04-04
host: x86_64-unknown-linux-gnu
release: 1.60.0
LLVM version: 14.0.0

Error output

:: cargo b
   Compiling playground v0.1.0 (/home/erxkk/Source/erxkk/playground)
thread 'rustc' panicked at 'to_const_int doesn't work on scalar pairs: InterpErrorInfo(InterpErrorInfoInner { kind: using uninitialized data, but this operation requires initialized memory, backtrace: None })', /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/compiler/rustc_const_eval/src/interpret/operand.rs:243:36
stack backtrace:
   0:     0x7fdba029d85d - std::backtrace_rs::backtrace::libunwind::trace::hd79e9b51bb0b02a3
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fdba029d85d - std::backtrace_rs::backtrace::trace_unsynchronized::hc4b2624d11f57391
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fdba029d85d - std::sys_common::backtrace::_print_fmt::h5b920b6df28041d5
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fdba029d85d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h01f2db48eea34166
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fdba02f8efc - core::fmt::write::h743b8fce003c331c
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/fmt/mod.rs:1194:17
   5:     0x7fdba028f041 - std::io::Write::write_fmt::h55edc38b905db9b5
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/io/mod.rs:1655:15
   6:     0x7fdba02a0575 - std::sys_common::backtrace::_print::h72c54a6b7a86b7bf
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fdba02a0575 - std::sys_common::backtrace::print::h8b541992f5fa33c9
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fdba02a0575 - std::panicking::default_hook::{{closure}}::h47e8a61e5844dea4
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:295:22
   9:     0x7fdba02a01e9 - std::panicking::default_hook::h65ae1796882c178c
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:314:9
  10:     0x7fdba0acc5a1 - rustc_driver[caca827775d68846]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fdba02a0d46 - std::panicking::rust_panic_with_hook::h1c3eee211b989bad
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:702:17
  12:     0x7fdba02a0b47 - std::panicking::begin_panic_handler::{{closure}}::h653627205f5b2cdc
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:588:13
  13:     0x7fdba029dd14 - std::sys_common::backtrace::__rust_end_short_backtrace::h36d845a914b6aae7
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:138:18
  14:     0x7fdba02a0879 - rust_begin_unwind
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:584:5
  15:     0x7fdba0265bd3 - core::panicking::panic_fmt::hb6389d787a80a806
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/panicking.rs:142:14
  16:     0x7fdba0265cc3 - core::result::unwrap_failed::h87e24b90746a4cce
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/result.rs:1785:5
  17:     0x7fdba2ce2f11 - <rustc_const_eval[ec16a9026af29337]::interpret::operand::ImmTy>::to_const_int
  18:     0x7fdba2ce4e0d - <rustc_mir_transform[8a7d782b281e026]::const_prop_lint::ConstPropagator>::check_binary_op
  19:     0x7fdba1ee3ad7 - <rustc_mir_transform[8a7d782b281e026]::const_prop_lint::ConstPropagator as rustc_middle[7c51428e7903af24]::mir::visit::Visitor>::visit_body
  20:     0x7fdba1ee2b20 - <rustc_mir_transform[8a7d782b281e026]::const_prop_lint::ConstProp as rustc_mir_transform[8a7d782b281e026]::pass_manager::MirLint>::run_lint
  21:     0x7fdba1f070be - rustc_mir_transform[8a7d782b281e026]::pass_manager::run_passes
  22:     0x7fdba1ef0907 - rustc_mir_transform[8a7d782b281e026]::mir_drops_elaborated_and_const_checked
  23:     0x7fdba307921c - <rustc_query_system[a2f7ce718affbf81]::dep_graph::graph::DepGraph<rustc_middle[7c51428e7903af24]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[7c51428e7903af24]::ty::context::TyCtxt, rustc_middle[7c51428e7903af24]::ty::WithOptConstParam<rustc_span[ff646084812721ee]::def_id::LocalDefId>, &rustc_data_structures[c194a60a15a7bbb1]::steal::Steal<rustc_middle[7c51428e7903af24]::mir::Body>>
  24:     0x7fdba24c3c71 - rustc_query_system[a2f7ce718affbf81]::query::plumbing::try_execute_query::<rustc_query_impl[7a7207227e977dca]::plumbing::QueryCtxt, rustc_query_system[a2f7ce718affbf81]::query::caches::DefaultCache<rustc_middle[7c51428e7903af24]::ty::WithOptConstParam<rustc_span[ff646084812721ee]::def_id::LocalDefId>, &rustc_data_structures[c194a60a15a7bbb1]::steal::Steal<rustc_middle[7c51428e7903af24]::mir::Body>>>
  25:     0x7fdba25d88d8 - <rustc_query_impl[7a7207227e977dca]::Queries as rustc_middle[7c51428e7903af24]::ty::query::QueryEngine>::mir_drops_elaborated_and_const_checked
  26:     0x7fdba1ef17ec - rustc_mir_transform[8a7d782b281e026]::optimized_mir
  27:     0x7fdba30909c7 - <rustc_query_system[a2f7ce718affbf81]::dep_graph::graph::DepGraph<rustc_middle[7c51428e7903af24]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[7c51428e7903af24]::ty::context::TyCtxt, rustc_span[ff646084812721ee]::def_id::DefId, &rustc_middle[7c51428e7903af24]::mir::Body>
  28:     0x7fdba24e6f02 - rustc_query_system[a2f7ce718affbf81]::query::plumbing::try_execute_query::<rustc_query_impl[7a7207227e977dca]::plumbing::QueryCtxt, rustc_query_system[a2f7ce718affbf81]::query::caches::DefaultCache<rustc_span[ff646084812721ee]::def_id::DefId, &rustc_middle[7c51428e7903af24]::mir::Body>>
  29:     0x7fdba25d8b7e - <rustc_query_impl[7a7207227e977dca]::Queries as rustc_middle[7c51428e7903af24]::ty::query::QueryEngine>::optimized_mir
  30:     0x7fdba260770f - <rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::EncodeContext>::encode_crate_root
  31:     0x7fdba315a3ca - rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::encode_metadata_impl
  32:     0x7fdba31746d1 - rustc_data_structures[c194a60a15a7bbb1]::sync::join::<rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::encode_metadata::{closure#0}, rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::encode_metadata::{closure#1}, rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::EncodedMetadata, ()>
  33:     0x7fdba3159b76 - rustc_metadata[a14ae4d71db231a9]::rmeta::encoder::encode_metadata
  34:     0x7fdba2b18ed3 - <rustc_interface[dacacaf3651fe347]::passes::QueryContext>::enter::<<rustc_interface[dacacaf3651fe347]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[864d7ae58f623181]::result::Result<alloc[642b2cd0ec1e1a81]::boxed::Box<dyn core[864d7ae58f623181]::any::Any>, rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
  35:     0x7fdba2b3f1ff - <rustc_interface[dacacaf3651fe347]::queries::Queries>::ongoing_codegen
  36:     0x7fdba2ae0acb - <rustc_interface[dacacaf3651fe347]::interface::Compiler>::enter::<rustc_driver[caca827775d68846]::run_compiler::{closure#1}::{closure#2}, core[864d7ae58f623181]::result::Result<core[864d7ae58f623181]::option::Option<rustc_interface[dacacaf3651fe347]::queries::Linker>, rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
  37:     0x7fdba2b0a3ff - rustc_span[ff646084812721ee]::with_source_map::<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_interface[dacacaf3651fe347]::interface::create_compiler_and_run<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_driver[caca827775d68846]::run_compiler::{closure#1}>::{closure#1}>
  38:     0x7fdba2af4d64 - rustc_interface[dacacaf3651fe347]::interface::create_compiler_and_run::<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_driver[caca827775d68846]::run_compiler::{closure#1}>
  39:     0x7fdba2addfa1 - <scoped_tls[d6203f3b3010b98e]::ScopedKey<rustc_span[ff646084812721ee]::SessionGlobals>>::set::<rustc_interface[dacacaf3651fe347]::interface::run_compiler<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_driver[caca827775d68846]::run_compiler::{closure#1}>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
  40:     0x7fdba2af754f - std[fd2a1eaf3e081d4d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dacacaf3651fe347]::util::run_in_thread_pool_with_globals<rustc_interface[dacacaf3651fe347]::interface::run_compiler<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_driver[caca827775d68846]::run_compiler::{closure#1}>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
  41:     0x7fdba2af7689 - <<std[fd2a1eaf3e081d4d]::thread::Builder>::spawn_unchecked_<rustc_interface[dacacaf3651fe347]::util::run_in_thread_pool_with_globals<rustc_interface[dacacaf3651fe347]::interface::run_compiler<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_driver[caca827775d68846]::run_compiler::{closure#1}>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#1} as core[864d7ae58f623181]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  42:     0x7fdba02aabf3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h211dae6d8dec3611
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/alloc/src/boxed.rs:1866:9
  43:     0x7fdba02aabf3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb54334e8a7bb1f12
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/alloc/src/boxed.rs:1866:9
  44:     0x7fdba02aabf3 - std::sys::unix::thread::Thread::new::thread_start::hf8b57655f2f2e68e
                               at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys/unix/thread.rs:108:17
  45:     0x7fdba00835c2 - start_thread
  46:     0x7fdba0108584 - __clone
  47:                0x0 - <unknown>

error: internal compiler error: unexpected panic

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

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

note: rustc 1.62.0-nightly (4ca19e09d 2022-04-19) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `<impl at src/lib.rs:9:9: 32:10>::merge`
#1 [optimized_mir] optimizing MIR for `<impl at src/lib.rs:9:9: 32:10>::merge`
end of query stack
error: could not compile `playground`
Backtrace

:: RUST_BACKTRACE=1 cargo b
   Compiling playground v0.1.0 (/home/erxkk/Source/erxkk/playground)
thread 'rustc' panicked at 'to_const_int doesn't work on scalar pairs: InterpErrorInfo(InterpErrorInfoInner { kind: using uninitialized data, but this operation requires initialized memory, backtrace: None })', /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/compiler/rustc_const_eval/src/interpret/operand.rs:243:36
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/panicking.rs:142:14
   2: core::result::unwrap_failed
             at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/result.rs:1785:5
   3: <rustc_const_eval::interpret::operand::ImmTy>::to_const_int
   4: <rustc_mir_transform::const_prop_lint::ConstPropagator>::check_binary_op
   5: <rustc_mir_transform::const_prop_lint::ConstPropagator as rustc_middle::mir::visit::Visitor>::visit_body
   6: <rustc_mir_transform::const_prop_lint::ConstProp as rustc_mir_transform::pass_manager::MirLint>::run_lint
   7: rustc_mir_transform::pass_manager::run_passes
   8: rustc_mir_transform::mir_drops_elaborated_and_const_checked
   9: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>
  10: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>>
  11: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_drops_elaborated_and_const_checked
  12: rustc_mir_transform::optimized_mir
  13: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::DefId, &rustc_middle::mir::Body>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, &rustc_middle::mir::Body>>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::optimized_mir
  16: <rustc_metadata::rmeta::encoder::EncodeContext>::encode_crate_root
  17: rustc_metadata::rmeta::encoder::encode_metadata_impl
  18: rustc_data_structures::sync::join::<rustc_metadata::rmeta::encoder::encode_metadata::{closure#0}, rustc_metadata::rmeta::encoder::encode_metadata::{closure#1}, rustc_metadata::rmeta::encoder::EncodedMetadata, ()>
  19: rustc_metadata::rmeta::encoder::encode_metadata
  20: <rustc_interface::passes::QueryContext>::enter::<<rustc_interface::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core::result::Result<alloc::boxed::Box<dyn core::any::Any>, rustc_errors::ErrorGuaranteed>>
  21: <rustc_interface::queries::Queries>::ongoing_codegen
  22: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorGuaranteed>>
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#1}>
  24: rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>
  25: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

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

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

note: rustc 1.62.0-nightly (4ca19e09d 2022-04-19) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `<impl at src/lib.rs:9:9: 32:10>::merge`
#1 [optimized_mir] optimizing MIR for `<impl at src/lib.rs:9:9: 32:10>::merge`
end of query stack
error: could not compile `playground`

@epbuennig epbuennig added C-bug Category: This is a bug. 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. labels May 11, 2022
@SNCPlay42
Copy link
Contributor

This also ICEs on beta on the playground.

@rustbot label regression-from-stable-to-beta

@rustbot rustbot added regression-from-stable-to-beta Performance or correctness regression from stable to beta. I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels May 11, 2022
@Badel2
Copy link
Contributor

Badel2 commented May 11, 2022

searched nightlies: from nightly-2022-03-01 to nightly-2022-04-23
regressed nightly: nightly-2022-03-25
searched commit range: 9f4dc0b...63b8f01
regressed commit: 63b8f01

bisected with cargo-bisect-rustc v0.6.3

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --test-dir=. --start=2022-03-01 --end=2022-04-23 --regress ice 

@apiraino
Copy link
Contributor

Assigning priority as discussed in the Zulip thread of the Prioritization Working Group.

@rustbot label -I-prioritize +P-medium

@rustbot rustbot added P-medium Medium priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels May 12, 2022
@compiler-errors
Copy link
Member

compiler-errors commented May 28, 2022

cc @Lireer, perhaps we need to adjust where we run some of these lints you extracted in #94934?

@pietroalbini pietroalbini added this to the 1.62.0 milestone Jun 24, 2022
@workingjubilee workingjubilee added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Jul 6, 2022
@epbuennig
Copy link
Author

It seems that this is fixed on 1.65, so I wanted to find out when that happened and ran cargo-bisect-rustc (0.6.4) as described here:

searched nightlies: from nightly-2022-03-01 to nightly-2022-04-23 regressed nightly: nightly-2022-03-25 searched commit range: 9f4dc0b...63b8f01 regressed commit: 63b8f01
bisected with cargo-bisect-rustc v0.6.3

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --test-dir=. --start=2022-03-01 --end=2022-04-23 --regress ice 

and it error'd out on me with:

ERROR: the end of the range (nightly-2022-04-23) does not reproduce the regression

Just thought I'd mention that, I think this can be closed, but I couldn't say when or how it was fixed.

@JohnTitor JohnTitor added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Jan 14, 2023
@RalfJung
Copy link
Member

RalfJung commented Aug 6, 2023

Via godbolt I can't find any stable Rust release where this fails. If it ICEd on beta that means an ICE fix must have been backported?

@workingjubilee you marked this as regression-from-stable-to-stable, was that an automatic process or did you (or someone else) actually ever see this ICE on stable Rust?

@RalfJung
Copy link
Member

RalfJung commented Aug 6, 2023

Oh wait, I didn't realize that the code posted in the OP is code that works, and one needs to adjust the code to generate an ICE. That is confusing. Sorry for the noise, it does reproduce on 1.64.0 but not 1.65.0.

RalfJung added a commit to RalfJung/rust that referenced this issue Aug 6, 2023
@bors bors closed this as completed in d720f93 Aug 7, 2023
@apiraino apiraino removed the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants