Closed
Description
The following command line causes rustc to panic:
rustc --explain E10000
Based on the panic message, any error code above 9999 likely triggers this panic.
rustc --version --verbose
:
rustc 1.88.0-nightly (d6a325d93 2025-05-03)
binary: rustc
commit-hash: d6a325d93a84077580c677f89affbe45682606c3
commit-date: 2025-05-03
host: x86_64-pc-windows-msvc
release: 1.88.0-nightly
LLVM version: 20.1.4
It appears that the panicking assertion assumes that code further up the stack does basic validation of the error code, when in fact that isn't happening.
Error output
thread 'main' panicked at /rustc/d6a325d93a84077580c677f89affbe45682606c3\compiler\rustc_errors\src\codes.rs:9:1:
assertion failed: value <= 9999
stack backtrace:
0: 0x7ff992ebd4c2 - std::backtrace_rs::backtrace::win64::trace
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
1: 0x7ff992ebd4c2 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff992ebd4c2 - std::sys::backtrace::_print_fmt
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\sys\backtrace.rs:66
3: 0x7ff992ebd4c2 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\sys\backtrace.rs:39
4: 0x7ff992eefccb - core::fmt::rt::Argument::fmt
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\core\src\fmt\rt.rs:181
5: 0x7ff992eefccb - core::fmt::write
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\core\src\fmt\mod.rs:1446
6: 0x7ff992eb3577 - std::io::default_write_fmt
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\io\mod.rs:639
7: 0x7ff992eb3577 - std::io::Write::write_fmt<std::sys::stdio::windows::Stderr>
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\io\mod.rs:1914
8: 0x7ff992ebd305 - std::sys::backtrace::BacktraceLock::print
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\sys\backtrace.rs:42
9: 0x7ff992ec2faa - std::panicking::default_hook::closure$0
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:300
10: 0x7ff992ec2d40 - std::panicking::default_hook
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:327
11: 0x7ff9945c40c9 - core[87a27484b78f7475]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[b0c94f99b9e7b658]::Level, &str), usize), <((rustc_lint_defs[b0c94f99b9e7b658]::Level, &str), usize) as core[87a27484b78f7475]::cmp::PartialOrd>::lt>
12: 0x7ff992ec3c3e - std::panicking::rust_panic_with_hook
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:841
13: 0x7ff992ec3962 - std::panicking::begin_panic_handler::closure$0
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:699
14: 0x7ff992ebe28f - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\sys\backtrace.rs:168
15: 0x7ff992ec359e - std::panicking::begin_panic_handler
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:697
16: 0x7ff996030751 - core::panicking::panic_fmt
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\core\src\panicking.rs:75
17: 0x7ff99603080d - core::panicking::panic
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\core\src\panicking.rs:145
18: 0x7ff98f7f8387 - rustc_driver_impl[4bf9a847fe62d732]::run_compiler
19: 0x7ff98f8039c7 - rustc_driver_impl[4bf9a847fe62d732]::main
20: 0x7ff7bb711039 - _wctype
21: 0x7ff7bb711006 - _wctype
22: 0x7ff7bb71101c - _wctype
23: 0x7ff992ea280c - std::rt::lang_start_internal::closure$0
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\rt.rs:168
24: 0x7ff992ea280c - std::panicking::try::do_call
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:589
25: 0x7ff992ea280c - std::panicking::try
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panicking.rs:552
26: 0x7ff992ea280c - std::panic::catch_unwind
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\panic.rs:359
27: 0x7ff992ea280c - std::rt::lang_start_internal
at /rustc/d6a325d93a84077580c677f89affbe45682606c3/library\std\src\rt.rs:164
28: 0x7ff7bb71106a - main
29: 0x7ff7bb71126c - invoke_main
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
30: 0x7ff7bb71126c - __scrt_common_main_seh
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
31: 0x7ffa7b61e8d7 - BaseThreadInitThunk
32: 0x7ffa7c8114fc - RtlUserThreadStart
error: the compiler unexpectedly panicked. this is a bug.