Open
Description
auto-reduced (treereduce-rust):
//@compile-flags: -Zmir-opt-level=5 -Zvalidate-mir
#![feature(min_generic_const_args)]
const EXAMPLE: &[u8] = include_bytes!("/proc/cpuinfo");
static BUF: [u8; EXAMPLE] = { arr };
fn main() {
println!("/proc/cpuinfo", BUF.len());
}
original:
const EXAMPLE: &[u8] = include_bytes!("/proc/cpuinfo");
const EXAMPLE: &[u8] = include_bytes!("/proc/cpuinfo");
static BUF: [u8; EXAMPLE] = {
let mut arr = [0u8; EX_LEN];
let mut idx = 0;
while idx < println {
arr[idx] = EXAMPLE[idx];
idx += 1;
}
arr
};
fn main() {
println!("/proc/cpuinfo", BUF.len());
}
Version information
rustc 1.89.0-nightly (81a964c23 2025-06-05)
binary: rustc
commit-hash: 81a964c23ea4fe9ab52b4449bb166bf280035797
commit-date: 2025-06-05
host: x86_64-unknown-linux-gnu
release: 1.89.0-nightly
LLVM version: 20.1.5
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zmir-opt-level=5 -Zvalidate-mir -Zcrate-attr=feature(min_generic_const_args)
Program output
error: argument never used
--> /tmp/icemaker_global_tempdir.5A1hCL7vp2tc/rustc_testrunner_tmpdir_reporting.g4Htz2YBjSZI/mvce.rs:6:31
|
6 | println!("/proc/cpuinfo", BUF.len());
| --------------- ^^^^^^^^^ argument never used
| |
| formatting specifier missing
error[E0425]: cannot find value `arr` in this scope
--> /tmp/icemaker_global_tempdir.5A1hCL7vp2tc/rustc_testrunner_tmpdir_reporting.g4Htz2YBjSZI/mvce.rs:3:31
|
3 | static BUF: [u8; EXAMPLE] = { arr };
| ^^^ help: a tuple variant with a similar name exists: `Err`
|
::: /home/matthias/.rustup/toolchains/master/lib/rustlib/src/rust/library/core/src/result.rs:557:5
|
557 | Err(#[stable(feature = "rust1", since = "1.0.0")] E),
| --- similarly named tuple variant `Err` defined here
warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
--> <crate attribute>:1:12
|
1 | #![feature(min_generic_const_args)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
= note: `#[warn(incomplete_features)]` on by default
warning: unnecessary braces around assigned value
--> /tmp/icemaker_global_tempdir.5A1hCL7vp2tc/rustc_testrunner_tmpdir_reporting.g4Htz2YBjSZI/mvce.rs:3:29
|
3 | static BUF: [u8; EXAMPLE] = { arr };
| ^^ ^^
|
= note: `#[warn(unused_braces)]` on by default
help: remove these braces
|
3 - static BUF: [u8; EXAMPLE] = { arr };
3 + static BUF: [u8; EXAMPLE] = arr;
|
error: the constant `b"processor\t: 0\nv< snip > ] [14]\n\n"` is not of type `usize`
--> /tmp/icemaker_global_tempdir.5A1hCL7vp2tc/rustc_testrunner_tmpdir_reporting.g4Htz2YBjSZI/mvce.rs:3:13
|
3 | static BUF: [u8; EXAMPLE] = { arr };
| ^^^^^^^^^^^^^ expected `usize`, found `&'static [u8]`
|
= note: the length of array `[u8; b"processor\t: 0\nvendor_id\t: <snip>3] [14]\n\n"]` must be type `usize`
error: the constant `b"proce < snip > 3] [14]\n\n"` is not of type `usize`
--> /tmp/icemaker_global_tempdir.5A1hCL7vp2tc/rustc_testrunner_tmpdir_reporting.g4Htz2YBjSZI/mvce.rs:3:29
|
3 | static BUF: [u8; EXAMPLE] = { arr };
| ^^^^^^^ expected `usize`, found `&'static [u8]`
|
= note: the length of array `[u8; b"proce < snip > ro [13] [14]\n\n"]` must be type `usize`
thread 'rustc' panicked at /rustc/81a964c23ea4fe9ab52b4449bb166bf280035797/compiler/rustc_const_eval/src/interpret/cast.rs:391:26:
expected monomorphic const in const eval
stack backtrace:
0: 0x74c08648a053 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hd7de588f2186284a
1: 0x74c086c029f7 - core::fmt::write::h59e3d8534099ec1b
2: 0x74c08647fde3 - std::io::Write::write_fmt::h80858133b280c235
3: 0x74c086489eb2 - std::sys::backtrace::BacktraceLock::print::h2b3198fe0055c6a7
4: 0x74c08648daaa - std::panicking::default_hook::{{closure}}::h3471ef65f1dc6f0f
5: 0x74c08648d62f - std::panicking::default_hook::hbc8f3a4437fcdf7b
6: 0x74c085584813 - std[223f7f98806d09cd]::panicking::update_hook::<alloc[f3381f2db88c315b]::boxed::Box<rustc_driver_impl[838fc0770cc6b7bf]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x74c08648e323 - std::panicking::rust_panic_with_hook::h46357c3d3d4456ed
8: 0x74c08648e01a - std::panicking::begin_panic_handler::{{closure}}::hb436a4ad216470c6
9: 0x74c08648a519 - std::sys::backtrace::__rust_end_short_backtrace::h96cb6cab32c629cd
10: 0x74c08648dcdd - __rustc[fac0ad678b0de183]::rust_begin_unwind
11: 0x74c082ca2c80 - core::panicking::panic_fmt::hf76a3ba6e5e84a3b
12: 0x74c0839925eb - core::option::expect_failed::h7dc4b0dd98334ff1
13: 0x74c08899c819 - <rustc_const_eval[412ae3f0e83fbdb]::interpret::eval_context::InterpCx<rustc_const_eval[412ae3f0e83fbdb]::const_eval::dummy_machine::DummyMachine>>::unsize_into_ptr.cold
14: 0x74c08795b7c4 - <rustc_mir_transform[d4c2a115c49c04f]::gvn::VnState>::insert
15: 0x74c087945de4 - <rustc_mir_transform[d4c2a115c49c04f]::gvn::VnState as rustc_middle[59e8487f9f7e50ed]::mir::visit::MutVisitor>::visit_statement
16: 0x74c087944b50 - <rustc_mir_transform[d4c2a115c49c04f]::gvn::GVN as rustc_mir_transform[d4c2a115c49c04f]::pass_manager::MirPass>::run_pass
17: 0x74c086c10262 - rustc_mir_transform[d4c2a115c49c04f]::run_optimization_passes
18: 0x74c087981064 - rustc_mir_transform[d4c2a115c49c04f]::optimized_mir
19: 0x74c08798081d - rustc_query_impl[7c164422c209a242]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7c164422c209a242]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[59e8487f9f7e50ed]::query::erase::Erased<[u8; 8usize]>>
20: 0x74c086c2fc65 - rustc_query_system[dc8d05ed1da9c1b3]::query::plumbing::try_execute_query::<rustc_query_impl[7c164422c209a242]::DynamicConfig<rustc_query_system[dc8d05ed1da9c1b3]::query::caches::DefIdCache<rustc_middle[59e8487f9f7e50ed]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[7c164422c209a242]::plumbing::QueryCtxt, false>
21: 0x74c086c2f09b - rustc_query_impl[7c164422c209a242]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
22: 0x74c0833fcc26 - <rustc_middle[59e8487f9f7e50ed]::ty::context::TyCtxt>::instance_mir
23: 0x74c086f54b60 - rustc_interface[d85128a34ad4eaa4]::passes::analysis
24: 0x74c086f534f3 - rustc_query_impl[7c164422c209a242]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7c164422c209a242]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[59e8487f9f7e50ed]::query::erase::Erased<[u8; 0usize]>>
25: 0x74c087c3828e - rustc_query_system[dc8d05ed1da9c1b3]::query::plumbing::try_execute_query::<rustc_query_impl[7c164422c209a242]::DynamicConfig<rustc_query_system[dc8d05ed1da9c1b3]::query::caches::SingleCache<rustc_middle[59e8487f9f7e50ed]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[7c164422c209a242]::plumbing::QueryCtxt, false>
26: 0x74c087c37e76 - rustc_query_impl[7c164422c209a242]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
27: 0x74c087de2c3f - rustc_interface[d85128a34ad4eaa4]::passes::create_and_enter_global_ctxt::<core[31a69e6d0c4300f5]::option::Option<rustc_interface[d85128a34ad4eaa4]::queries::Linker>, rustc_driver_impl[838fc0770cc6b7bf]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
28: 0x74c087dd4330 - rustc_interface[d85128a34ad4eaa4]::interface::run_compiler::<(), rustc_driver_impl[838fc0770cc6b7bf]::run_compiler::{closure#0}>::{closure#1}
29: 0x74c087e0694a - std[223f7f98806d09cd]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d85128a34ad4eaa4]::util::run_in_thread_with_globals<rustc_interface[d85128a34ad4eaa4]::util::run_in_thread_pool_with_globals<rustc_interface[d85128a34ad4eaa4]::interface::run_compiler<(), rustc_driver_impl[838fc0770cc6b7bf]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
30: 0x74c087e06632 - <<std[223f7f98806d09cd]::thread::Builder>::spawn_unchecked_<rustc_interface[d85128a34ad4eaa4]::util::run_in_thread_with_globals<rustc_interface[d85128a34ad4eaa4]::util::run_in_thread_pool_with_globals<rustc_interface[d85128a34ad4eaa4]::interface::run_compiler<(), rustc_driver_impl[838fc0770cc6b7bf]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[31a69e6d0c4300f5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
31: 0x74c087e07bfd - std::sys::pal::unix::thread::Thread::new::thread_start::h9c37dacde5045541
32: 0x74c0818a57eb - <unknown>
33: 0x74c08192918c - <unknown>
34: 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 make sure that you have updated to the latest nightly
note: rustc 1.89.0-nightly (81a964c23 2025-06-05) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z mir-opt-level=5 -Z validate-mir -Z crate-attr=feature(min_generic_const_args) -Z dump-mir-dir=dir
query stack during panic:
#0 [optimized_mir] optimizing MIR for `main`
#1 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 4 previous errors; 2 warnings emitted
For more information about this error, try `rustc --explain E0425`.
@rustbot label +F-min_generic_const_args +-Zvalidate-mir