Repository: rust
Issue: Panic while cargo run: index out of bounds: the len is 3 but the index is 44409961840641
Labels: I-ICE,T-compiler,C-bug,S-needs-repro

I hate to report it like this, but I have no minimum reproducible example. All I can say is:
- I ran `cargo run`
- Ran `cargo clean`
- Ran `cargo run`
- And boom, this error.

I could not reproduce it using the same steps and have absolutely no idea what caused it. But I am reporting this here in the hopes that it's still helpful.

It's not likely I'll get more information on this since it was sporadic, but if I do, I will promptly update this report with anything I find out. This was likely due to something about incremental compilation as far as I can tell (of course, I could be wrong as I don't know rustc internals, but that's just my guess)

### Meta
<!--
If you're using the stable version of the compiler, you should also check if the
bug also exists in the beta or nightly versions.
-->

`rustc --version --verbose`:
```
rustc 1.67.0 (fc594f156 2023-01-24)
binary: rustc
commit-hash: fc594f15669680fa70d255faec3ca3fb507c3405
commit-date: 2023-01-24
host: x86_64-pc-windows-msvc
release: 1.67.0
LLVM version: 15.0.6
```

### Error output

<!--
Include a backtrace in the code block by setting `RUST_BACKTRACE=1` in your
environment. E.g. `RUST_BACKTRACE=1 cargo build`.
-->
<details><summary><strong>Backtrace</strong></summary>
<p>

```
thread 'rustc' panicked at 'index out of bounds: the len is 3 but the index is 44409961840641', compiler\rustc_passes\src\dead.rs:212:32
stack backtrace:
   0:     0x7ffb83639de2 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h21483e943f4ad906
   1:     0x7ffb83675d0b - core::fmt::write::h8f4c7586035b3d2b
   2:     0x7ffb8362ca2a - <std::io::IoSliceMut as core::fmt::Debug>::fmt::hc1ea61cfd970f48a
   3:     0x7ffb83639b2b - std::sys::common::alloc::realloc_fallback::h02615bcb1723d762
   4:     0x7ffb8363d459 - std::panicking::default_hook::h97aed9cc52878577
   5:     0x7ffb8363d0db - std::panicking::default_hook::h97aed9cc52878577
   6:     0x7ffb5b960bed - rustc_driver[708e54b233d52623]::describe_lints
   7:     0x7ffb8363ddc0 - std::panicking::rust_panic_with_hook::h5481405004a2be3e
   8:     0x7ffb8363db1e - <std::panicking::begin_panic_handler::StrPanicPayload as core::panic::BoxMeUp>::get::h8f75b6be7202b578
   9:     0x7ffb8363aadf - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h21483e943f4ad906
  10:     0x7ffb8363d7d0 - rust_begin_unwind
  11:     0x7ffb836abb85 - core::panicking::panic_fmt::hf042f640ecb61b9a
  12:     0x7ffb836abcf7 - core::panicking::panic_bounds_check::h06672bdae9a8b9ca
  13:     0x7ffb5aee55c8 - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_pat
  14:     0x7ffb5aee2b19 - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_expr
  15:     0x7ffb5aee293d - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_expr
  16:     0x7ffb5aef1cd4 - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_ty
  17:     0x7ffb5aeebe9d - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_ty
  18:     0x7ffb59c36800 - <rustc_span[ba0659062984d28f]::hygiene::ExpnId as rustc_serialize[23637142a4eedfd]::serialize::Decodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheDecoder>>::decode
  19:     0x7ffb59d2814f - <rustc_span[ba0659062984d28f]::hygiene::ExpnId as rustc_serialize[23637142a4eedfd]::serialize::Decodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheDecoder>>::decode
  20:     0x7ffb5aeed823 - <rustc_passes[1aa3ab76e627b471]::dead::MarkSymbolVisitor as rustc_hir[221fa5c896621235]::intravisit::Visitor>::visit_ty
  21:     0x7ffb5b345f9f - <rustc_span[ba0659062984d28f]::symbol::Symbol as rustc_serialize[23637142a4eedfd]::serialize::Encodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheEncoder>>::encode
  22:     0x7ffb59d20fb2 - <rustc_span[ba0659062984d28f]::hygiene::ExpnId as rustc_serialize[23637142a4eedfd]::serialize::Decodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheDecoder>>::decode
  23:     0x7ffb5b9fa7bc - rustc_interface[69234d9ab4221f]::util::rustc_version_str
  24:     0x7ffb5915151b - rustc_log[bc3229d500777bc1]::init_env_logger
  25:     0x7ffb5917d411 - rustc_interface[69234d9ab4221f]::util::build_output_filenames
  26:     0x7ffb5917dbf6 - rustc_interface[69234d9ab4221f]::util::build_output_filenames
  27:     0x7ffb59162180 - <rustc_interface[69234d9ab4221f]::queries::Linker>::link
  28:     0x7ffb5916c9ed - rustc_interface[69234d9ab4221f]::passes::analysis
  29:     0x7ffb59ca2c2e - <rustc_span[ba0659062984d28f]::hygiene::ExpnId as rustc_serialize[23637142a4eedfd]::serialize::Decodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheDecoder>>::decode
  30:     0x7ffb59d28a0f - <rustc_span[ba0659062984d28f]::hygiene::ExpnId as rustc_serialize[23637142a4eedfd]::serialize::Decodable<rustc_query_impl[651182f85ea462f3]::on_disk_cache::CacheDecoder>>::decode
  31:     0x7ffb5911be2c - <unknown>
  32:     0x7ffb5912d0a5 - <rustc_middle[a6044308a342a685]::ty::SymbolName as core[7db624dd2df9ba7d]::fmt::Debug>::fmt

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.67.0 (fc594f156 2023-01-24) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [live_symbols_and_ignored_derived_traits] finding live symbols in crate
#1 [check_mod_deathness] checking deathness of variables in top-level module
#2 [analysis] running analysis passes on this crate
end of query stack
```

</p>
</details>