Reject malformed compiler version tokens in doctor and version queries
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 78/100
Línea de trabajo
Start with compiler/src/selection.rs:84, where Compiler::version() validates the wavec response and caches the second token. Add or update the version fixtures to cover malformed, missing, wrong-prefix, valid-prerelease, and supported trailing-description cases, then exercise vex doctor --format=json outside a project. Done means malformed output produces a failed compiler check, while valid development versions continue to report successfully.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Audited against merged master 13289d7a74ad45561554bbb6673a189dbb192a27 (PR #161).
Problem and reproduction
Compiler::version() verifies the wavec prefix and token count, then accepts any second token as the version.
A fixture returning wavec banana for --version and valid capability responses produces exit 0 from vex doctor --format=json outside a project. Its wavec check is ok, with version: "banana".
Scope and acceptance
- Validate the version token as a semantic version before caching or reporting success.
- Keep valid prerelease/development versions such as
0.2.1-pre-beta-devworking and preserve any currently supported trailing version description. - Do not apply Vex's release-only build-metadata prohibition to general compiler discovery as part of this fix.
- Add malformed-token, missing-token, wrong-prefix and valid-prerelease fixture cases.
- Doctor must report a failed compiler check for malformed output, rather than reporting the compiler as healthy.
Keep this change within compiler-response validation; no compiler download or compatibility-policy change is requested.
Starting points
This is a bounded follow-up suitable for a first contribution; no broader feature redesign is requested.
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 3
- Merge medio
- 6 h 43 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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/Vex
-
documentation good first issue release
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
-
bug ci cross-platform good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
bug good first issue tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
build cross-platform enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
bug good first issue ui/ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
Los mantenedores suelen responder en 1 día
Todos los issues de wavefnd/Vex
Issues similares
-
llm translation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
BerriAI/litellm#47884 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug(stubgen): `typing` / `_typeshed` imports are emitted above `from __future__ import annotations`Abiertostubgen
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
bug-hunt confirmed good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
area: pcb area: rendering priority: high status: needs-triage type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
-
Update webpki-root-certsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
rustls/rustls-platform-verifier#262 · 2 comentarios · 2 reacciones ·