Skip to content

ludiosarchive/rust-analyzer-issue-14474-repro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project should `cargo build` fine, but rust-analyzer has issues.

git clone https://github.com/ludios/rust-analyzer-issue-14474-repro
cd rust-analyzer-issue-14474-repro
wget https://github.com/rust-lang/rust-analyzer/releases/download/2023-04-04/rust-analyzer-x86_64-unknown-linux-gnu.gz
gunzip rust-analyzer-x86_64-unknown-linux-gnu.gz
chmod +x rust-analyzer-x86_64-unknown-linux-gnu.gz
./rust-analyzer-x86_64-unknown-linux-gnu analysis-stats -v .

Observe:

Failed to create perf counter: Operation not permitted (os error 1)
Failed to create perf counter: Operation not permitted (os error 1)
Database loaded:     2.15s (metadata 1.33s; build 712.77ms)
Failed to create perf counter: Operation not permitted (os error 1)
  crates: 1, mods: 1, decls: 4, fns: 3
Item Collection:     4.38s
Failed to create perf counter: Operation not permitted (os error 1)
1/3 33% processing: stream_file (rust-analyzer-issue-14474-repro/src/main.rs 233..428)thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', crates/hir-ty/src/mir/eval.rs:1161:52
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/panicking.rs:64:14
   2: core::panicking::panic_bounds_check
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/panicking.rs:159:5
   3: <hir_ty::mir::eval::Evaluator::ty_filler::Filler as chalk_ir::fold::FallibleTypeFolder<hir_ty::interner::Interner>>::try_fold_ty
   4: hir_ty::mir::eval::Evaluator::size_of
   5: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
   6: core::iter::adapters::try_process
   7: hir_ty::mir::eval::interpret_mir
   8: hir_ty::consteval::eval_to_const
   9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  17: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  18: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_async_block
  19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
  20: hir_ty::infer::infer_query
  21: salsa::runtime::Runtime::execute_query_implementation
  22: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  23: salsa::derived::slot::Slot<Q,MP>::read
  24: <salsa::derived::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::try_fetch
  25: <DB as hir_ty::db::HirDatabase>::infer_query::__shim
  26: <DB as hir_ty::db::HirDatabase>::infer_query
  27: hir_ty::db::infer_wait
  28: rust_analyzer::cli::analysis_stats::<impl rust_analyzer::cli::flags::AnalysisStats>::run_inference
  29: rust_analyzer::cli::analysis_stats::<impl rust_analyzer::cli::flags::AnalysisStats>::run
  30: rust_analyzer::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.