-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Closed
Labels
C-bugCategory: This is a bugCategory: This is a bug
Description
Summary
After upgrading to 25.07, syntax highlighting for Rust stopped working, and the logs contain errors related to rust-analyzer. Downgrading to version 25.01.1 solves the problem.
Context
- Rust version 1.88, rust-analyzer 1.88
- Single rust-analyzer binary located in
.cargo - Reinstalled both Helix and Rust/rust-analyzer, to no avail
- Ran
hx -g fetch && hx -g build
Reproduction Steps
Rust-version 1.88
I tried this:
- Upgrade to 25.07
- Open a Rust project in helix
I expected this to happen:
Syntax highlighting to work as intended, and rust-analyzer to run without fatal errors.
Instead, this happened:
Syntax highlighting does not work, and helix logs contains multiple rust-analyzer errors. Downgrading to 25.01.1 solves the issue.
Helix log
~/.cache/helix/helix.log
...
2025-07-16T11:55:55.799 helix_lsp::transport [ERROR] rust-analyzer err <- "\n"
2025-07-16T11:55:55.799 helix_lsp::transport [ERROR] rust-analyzer err <- "thread 'PrimeCaches#2' panicked at /rust/deps/thin-vec-0.2.14/src/lib.rs:1061:51:\n"
2025-07-16T11:55:55.799 helix_lsp::transport [ERROR] rust-analyzer err <- "capacity overflow\n"
2025-07-16T11:55:55.799 helix_lsp::transport [ERROR] rust-analyzer err <- "stack backtrace:\n"
2025-07-16T11:55:55.993 helix_lsp::transport [ERROR] rust-analyzer err <- " 0: __rustc::rust_begin_unwind\n"
2025-07-16T11:55:55.993 helix_lsp::transport [ERROR] rust-analyzer err <- " 1: core::panicking::panic_fmt\n"
2025-07-16T11:55:55.994 helix_lsp::transport [ERROR] rust-analyzer err <- " 2: core::option::expect_failed\n"
2025-07-16T11:55:55.994 helix_lsp::transport [ERROR] rust-analyzer err <- " 3: <thin_vec::ThinVec<salsa::table::memo::MemoEntry>>::reserve\n"
2025-07-16T11:55:55.994 helix_lsp::transport [ERROR] rust-analyzer err <- " 4: <salsa::function::IngredientImpl<<_ as hir_def::db::DefDatabase>::impl_signature_with_source_map::impl_signature_with_source_map_shim::Configuration_>>::execute\n"
2025-07-16T11:55:55.995 helix_lsp::transport [ERROR] rust-analyzer err <- " 5: <salsa::function::IngredientImpl<<_ as hir_def::db::DefDatabase>::impl_signature_with_source_map::impl_signature_with_source_map_shim::Configuration_>>::fetch_cold\n"
2025-07-16T11:55:55.995 helix_lsp::transport [ERROR] rust-analyzer err <- " 6: <_ as hir_def::db::DefDatabase>::impl_signature_with_source_map::impl_signature_with_source_map_shim\n"
2025-07-16T11:55:55.995 helix_lsp::transport [ERROR] rust-analyzer err <- " 7: <salsa::function::IngredientImpl<<_ as hir_def::db::DefDatabase>::impl_signature::impl_signature_shim::Configuration_>>::execute\n"
2025-07-16T11:55:55.996 helix_lsp::transport [ERROR] rust-analyzer err <- " 8: <salsa::function::IngredientImpl<<_ as hir_def::db::DefDatabase>::impl_signature::impl_signature_shim::Configuration_>>::fetch_cold\n"
2025-07-16T11:55:55.996 helix_lsp::transport [ERROR] rust-analyzer err <- " 9: <_ as hir_def::db::DefDatabase>::impl_signature::impl_signature_shim\n"
2025-07-16T11:55:55.996 helix_lsp::transport [ERROR] rust-analyzer err <- " 10: <hir::symbols::SymbolCollector>::do_work::{closure#1}\n"
2025-07-16T11:55:55.996 helix_lsp::transport [ERROR] rust-analyzer err <- " 11: <hir::symbols::SymbolCollector>::collect\n"
2025-07-16T11:55:55.997 helix_lsp::transport [ERROR] rust-analyzer err <- " 12: <<_ as ide_db::symbol_index::SymbolsDatabase>::module_symbols::module_symbols_shim::Configuration_ as salsa::function::Configuration>::execute\n"
2025-07-16T11:55:55.998 helix_lsp::transport [ERROR] rust-analyzer err <- " 13: <salsa::function::IngredientImpl<<_ as ide_db::symbol_index::SymbolsDatabase>::module_symbols::module_symbols_shim::Configuration_>>::execute\n"
2025-07-16T11:55:55.998 helix_lsp::transport [ERROR] rust-analyzer err <- " 14: <salsa::function::IngredientImpl<<_ as ide_db::symbol_index::SymbolsDatabase>::module_symbols::module_symbols_shim::Configuration_>>::fetch_cold\n"
2025-07-16T11:55:55.998 helix_lsp::transport [ERROR] rust-analyzer err <- " 15: <_ as ide_db::symbol_index::SymbolsDatabase>::module_symbols::module_symbols_shim\n"
2025-07-16T11:55:55.999 helix_lsp::transport [ERROR] rust-analyzer err <- " 16: ide_db::symbol_index::crate_symbols\n"
2025-07-16T11:55:56.000 helix_lsp::transport [ERROR] rust-analyzer err <- "note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- "query stacktrace:\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- " 0: impl_signature_shim(Id(3f0b3)) -> (R1, Durability::HIGH)\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- " at src/tools/rust-analyzer/crates/hir-def/src/db.rs:101\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- " 1: module_symbols_shim(Id(7800)) -> (R4099, Durability::MEDIUM)\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- " at src/tools/rust-analyzer/crates/ide-db/src/symbol_index.rs:99\n"
2025-07-16T11:55:56.001 helix_lsp::transport [ERROR] rust-analyzer err <- "\n"
2025-07-16T12:02:57.900 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:06:39.965 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:06:55.456 helix_lsp::transport [ERROR] rust-analyzer err: <- StreamClosed
2025-07-16T12:07:07.514 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:10:06.485 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:13:35.405 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:13:46.980 helix_lsp::transport [ERROR] rust-analyzer err: <- StreamClosed
2025-07-16T12:13:53.094 helix_lsp::transport [ERROR] rust-analyzer <- ServerError(-32801): content modified
2025-07-16T12:13:53.097 helix_term::handlers::signature_help [ERROR] signature help request failed: protocol error: ServerError(-32801): content modified
2025-07-16T12:13:53.996 helix_view::document [ERROR] Formatter error: error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:65:1
|
65 | async fn main() -> Result<(), AppError> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:106:1
|
106 | async fn setup_db(State(state): State<SharedState>) -> Result<(), AppError> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:114:1
|
114 | async fn get_all_projects(State(state): State<SharedState>) -> APIResponse {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:119:1
|
119 | async fn get_single_project(State(state): State<SharedState>, Path(id): Path<usize>) -> APIResponse {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:130:1
|
130 | async fn add_project(State(state): State<SharedState>, Json(payload): Json<CreateProject>) -> Result<APIResponse, StatusCode> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
2025-07-16T12:14:07.420 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:15:05.311 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:18:50.760 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:21:37.965 helix_lsp::transport [ERROR] rust-analyzer err: <- StreamClosed
2025-07-16T12:22:47.602 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:27:06.002 helix_lsp::transport [ERROR] rust-analyzer err: <- StreamClosed
2025-07-16T12:27:10.757 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:27:33.082 helix_view::document [ERROR] Formatter error: error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:65:1
|
65 | async fn main() -> Result<(), AppError> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:106:1
|
106 | async fn setup_db(State(state): State<SharedState>) -> Result<(), AppError> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:114:1
|
114 | async fn get_all_projects(State(state): State<SharedState>) -> APIResponse {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:119:1
|
119 | async fn get_single_project(State(state): State<SharedState>, Path(id): Path<usize>) -> APIResponse {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error[E0670]: `async fn` is not permitted in Rust 2015
--> <stdin>:130:1
|
130 | async fn add_project(State(state): State<SharedState>, Json(payload): Json<CreateProject>) -> Result<APIResponse, StatusCode> {
| ^^^^^ to use `async fn`, switch to Rust 2018 or later
|
= help: pass `--edition 2024` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
2025-07-16T12:30:50.230 helix_view::document [WARN] Error building syntax for '~/.cache/helix/helix.log': configured timeout was exceeded
2025-07-16T12:30:55.489 helix_lsp::transport [ERROR] rust-analyzer err: <- StreamClosed
Platform
macOS
Terminal Emulator
rio
Installation Method
brew
Helix Version
helix 25.07
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bugCategory: This is a bug