rust-lang / rust-lang/rust-analyzer
panic `evaluation shouldn't be concurrent yet` recursive const
Open
Nobody has claimed this yet.
A-mir
A-ty
C-bug
I-panic
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
const _THREE = _ONE;
const _ONE: [u8; _ONE] = ();
fn main() {}
RUSTFLAGS="" ~/.rustup/toolchains/master/bin/rust-analyzer highlight < code.rs
thread 'main' (3655214) panicked at src/tools/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:1038:9:
evaluation shouldn't be concurrent yet
stack backtrace:
0: 0x7f6c3a60a566 - <<std[7a677e1801b0b374]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8947f86082328bb0]::fmt::Display>::fmt
1: 0x7f6c3ac0ec88 - core[8947f86082328bb0]::fmt::write
2: 0x7f6c3a61f9dc - <std[7a677e1801b0b374]::sys::stdio::unix::Stderr as core[8947f86082328bb0]::io::write::Write>::write_fmt
3: 0x7f6c3a5de8ea - std[7a677e1801b0b374]::panicking::default_hook::{closure#0}
4: 0x7f6c3a5fcc83 - std[7a677e1801b0b374]::panicking::default_hook
5: 0x7f6c3a5fd0eb - std[7a677e1801b0b374]::panicking::panic_with_hook
6: 0x7f6c3a5de9d4 - std[7a677e1801b0b374]::panicking::panic_handler::{closure#0}
7: 0x7f6c3a5d2e89 - std[7a677e1801b0b374]::sys::backtrace::__rust_end_short_backtrace::<std[7a677e1801b0b374]::panicking::panic_handler::{closure#0}, !>
8: 0x7f6c3a5e02fd - __rustc[3266c8557f45551c]::rust_begin_unwind
9: 0x7f6c3735c47c - core[8947f86082328bb0]::panicking::panic_fmt
10: 0x564b8ff1d412 - <ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::search_graph::SearchGraph<ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::search_graph::SearchGraphDelegate<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext>, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal
11: 0x564b8feb093a - <ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::eval_ctxt::EvalCtxt<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal_raw
12: 0x564b8feb1b4f - <ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::eval_ctxt::EvalCtxt<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::try_evaluate_added_goals
13: 0x564b8ff229c4 - <ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::search_graph::SearchGraph<ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::search_graph::SearchGraphDelegate<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext>, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal_in_task
14: 0x564b8ff1ac38 - <ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::search_graph::SearchGraph<ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::search_graph::SearchGraphDelegate<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext>, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal
15: 0x564b8feb093a - <ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::eval_ctxt::EvalCtxt<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal_raw
16: 0x564b8feaf859 - <ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::eval_ctxt::EvalCtxt<hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext, hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::evaluate_goal
17: 0x564b900c6b17 - <hir_ty[93cf116e5217208d]::next_solver::solver::SolverContext as ra_ap_rustc_next_trait_solver[6f4571a0989d1e5b]::solve::eval_ctxt::SolverDelegateEvalExt>::evaluate_root_goal
18: 0x564b8fec3495 - <hir_ty[93cf116e5217208d]::next_solver::fulfill::FulfillmentCtxt>::try_evaluate_obligations
19: 0x564b8fe21cc9 - <hir_ty[93cf116e5217208d]::next_solver::normalize::NormalizationFolder>::normalize_alias_term
20: 0x564b900cafe5 - <hir_ty[93cf116e5217208d]::next_solver::normalize::NormalizationFolder as ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::fold::FallibleTypeFolder<hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::try_fold_const
21: 0x564b8fda83b5 - <hir_ty[93cf116e5217208d]::next_solver::ty::Ty as ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::fold::TypeSuperFoldable<hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::try_super_fold_with::<hir_ty[93cf116e5217208d]::next_solver::normalize::NormalizationFolder>
22: 0x564b900caa92 - <hir_ty[93cf116e5217208d]::next_solver::normalize::NormalizationFolder as ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::fold::FallibleTypeFolder<hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::try_fold_ty
23: 0x564b8fd0c6e9 - hir_ty[93cf116e5217208d]::next_solver::normalize::deeply_normalize_with_skipped_universes_and_ambiguous_coroutine_goals::<hir_ty[93cf116e5217208d]::next_solver::ty::Ty>
24: 0x564b8fc61ba2 - <hir_ty[93cf116e5217208d]::infer::unify::resolve_completely::Resolver>::handle_term::<hir_ty[93cf116e5217208d]::next_solver::ty::Ty, <hir_ty[93cf116e5217208d]::infer::unify::resolve_completely::Resolver as ra_ap_rustc_type_ir[4c7ad565f4fbbb32]::fold::TypeFolder<hir_ty[93cf116e5217208d]::next_solver::interner::DbInterner>>::fold_ty::{closure#0}>
25: 0x564b8fc47e6b - <hir_ty[93cf116e5217208d]::infer::unify::resolve_completely::WriteBackCtxt>::resolve_completely::<hir_ty[93cf116e5217208d]::next_solver::ty::StoredTy>
26: 0x564b8ff7b84e - hir_ty[93cf116e5217208d]::infer::infer_finalize
27: 0x564b8ff84a6f - hir_ty[93cf116e5217208d]::infer::infer_query_with_inspect
28: 0x564b8fe744a4 - <salsa[f6baacb4446d11cc]::function::IngredientImpl<<hir_ty[93cf116e5217208d]::infer::InferenceResult>::for_body::_::for_body__Configuration_>>::execute
29: 0x564b8fc3f377 - <salsa[f6baacb4446d11cc]::attach::Attached>::attach::<dyn hir_ty[93cf116e5217208d]::db::HirDatabase, &hir_ty[93cf116e5217208d]::infer::InferenceResult, <hir_ty[93cf116e5217208d]::infer::InferenceResult>::for_body::for_body_::{closure#0}>
30: 0x564b8f89ec3c - <hir[7d9bbb24bae6c127]::semantics::SemanticsImpl>::get_unsafe_ops
31: 0x564b90209313 - ide[6233e951667d8107]::syntax_highlighting::highlight
32: 0x564b9024303e - ide[6233e951667d8107]::syntax_highlighting::html::highlight_as_html_with_config
33: 0x564b901a9e4c - <ide[6233e951667d8107]::Analysis>::highlight_as_html
34: 0x564b90bf8932 - <rust_analyzer[9f47c25af0fec260]::cli::flags::Highlight>::run
35: 0x564b90e980f4 - rust_analyzer[9193986eb7972329]::main
36: 0x564b90e2e7d3 - std[7a677e1801b0b374]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[8947f86082328bb0]::result::Result<std[7a677e1801b0b374]::process::ExitCode, anyhow[6c3359fcb7bf7f47]::Error>, core[8947f86082328bb0]::result::Result<std[7a677e1801b0b374]::process::ExitCode, anyhow[6c3359fcb7bf7f47]::Error>>
37: 0x564b90e91142 - std[7a677e1801b0b374]::rt::lang_start::<core[8947f86082328bb0]::result::Result<std[7a677e1801b0b374]::process::ExitCode, anyhow[6c3359fcb7bf7f47]::Error>>::{closure#0}
38: 0x7f6c3bd6b599 - std[7a677e1801b0b374]::rt::lang_start_internal
39: 0x564b90eb1238 - main
40: 0x7f6c35627741 - <unknown>
41: 0x7f6c35627879 - __libc_start_main
42: 0x564b8f7a2709 - <unknown>
43: 0x0 - <unknown>
rust-analyzer 1.99.0-nightly (da80ed0 2026-07-14)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the panic with the recursive-const snippet using the rust-analyzer highlight command. Start at src/tools/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:1038 and follow the stack through next_solver evaluation and normalization. Done means highlighting the input completes without the “evaluation shouldn't be concurrent yet” panic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100