`RustFmt` error: "let chains are only allowed in Rust 2024 or later" but I'm on 2024

Abierto
#529 3 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust, vim
Área
tooling

Línea de trabajo

Start by reading the :RustFmt implementation and how it selects the Rust file’s edition; compare that behavior with cargo fmt on the workspace and crate-level edition configurations described in the report. Reproduce with a crate using let chains and edition 2024, then check whether the command works with an explicit crate edition. Done when :RustFmt formats the file without the Rust 2024 edition error.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Project setup: I have a workspace that specifies the project versions, rust editions, and dependencies in the workspace Cargo.toml, and the crates contained within use:

version.workspace = true
edition.workspace = true
...

etc to refer to the configuration in the workspace Cargo.toml. I'm using edition "2024".

Vim setup: I'm on vim 8.2. rust.vim is already on its newest version. Here are the versions reported by :RustInfo.

rustfmt 1.8.0-stable (1159e78c47 2025-09-14)
rustc 1.90.0 (1159e78c4 2025-09-14)
cargo 1.90.0 (840b83a10 2025-07-30)  
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 02 2025 12:39:01)
Included patches: 1-16, 647, 17-579, 1969, 580-647, 678, 648-1848, 4975, 5016, 5023, 5072, 2068, 1849-1854, 1857, 1855-1857, 1331, 1858, 1858-1859, 1873, 1860-1969, 1992, 1
970-1992, 2010, 1993-2068, 2106, 2069-2106, 2108, 2107-2109, 2109-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919, 213, 1840, 1846-1847, 2110-2112, 2121
Modified by [email protected]
Compiled by [email protected]  

Issue: Running :RustFmt on a rust file that's using let chains fails with a location list of errors saying:

error: let chains are only allowed in Rust 2024 or later

The issue still reproduces this issue by using edition = "2024" on the crate instead of referring to the workspace edition. But cargo fmt on the command line works just fine. cargo fmt will produce the error above if I change to edition = "2018", for example. So rust.vim seems to not see the version correctly.

Any insights on what the underlying issue is and how to resolve it?

Lenguaje dominante
Vim Script
Estrellas
4.2k
Forks
323
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rust-lang/rust.vim

Todos los issues de rust-lang/rust.vim

Issues similares

Más issues de DevTools

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.