Recognize Rust function modifier combinations in the spacing helper
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Empieza en tools/format-rust.py, centrándote en is_function_start y add_function_spacing; lee las comprobaciones de prefijo existentes y cómo el helper distingue los cuerpos de las funciones. Añade la regresión de Python basada en tablas solicitada para combinaciones de modificadores, visibilidad restringida, declaraciones sin cuerpo y bloques extern. Ejecuta la regresión y confirma que las funciones adyacentes quedan separadas sin falsos positivos provocados por cadenas o bloques extern.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
is_function_start uses a short prefix list. Valid pub(crate) const fn functions and other modifier combinations are not detected, leaving adjacent functions unseparated.
Reproduction
Executed the helper at fd07427f4a976de05e38eff3ee1760db97fbb761 using importlib and add_function_spacing on:
pub(crate) const fn first() {}
pub(crate) const fn second() {}
The result is unchanged; the intended separating blank line is missing. Starting point: tools/format-rust.py.
Scope
Recognize legal visibility and const/async/unsafe/extern combinations without treating arbitrary extern blocks or fn text in strings as functions. Difficulty: easy.
Completion criteria
- Cover combined modifiers and restricted visibility.
- Keep bodyless declarations and extern blocks distinct.
- Add a small table-driven Python regression.
- Lenguaje dominante
- Rust
- Estrellas
- 56
- Forks
- 21
- Merge medio
- 4 h 58 min
- PR fusionados (30 d)
- 54
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wavefnd/Wave
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
good first issue performance
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
Todos los issues de wavefnd/Wave
Issues similares
-
Make major, minor, and makedev safe on solarish targetsPosiblemente ocupada @xtqqczze la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Proxy ignores l5d-retry-http and l5d-retry-grpc conditions that follow a comma and spacePosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 3 días
-
sncast panics when decoding a `u384` valuePosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
foundry-rs/starknet-foundry#4635 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
crmne/omastats#31 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
area:desktop priority:p2 type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día