println/format strings only support a bare {} (no float precision, width or radix)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start by locating the parser and formatter implementation for println format strings, then trace how placeholders are parsed and how f64 values are rendered. The issue gives a reproducer using {:.2} and describes desired precision, width, padding, alignment, and integer radix support. Add the supported formatting behavior and tests for those cases; done when the reproducer formats the float as requested and unsupported syntax is handled consistently.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature request: println / format strings accept only a bare {}. There is no way to control the number of fraction digits of a float, width or padding.
Repro
fun main() {
var c: f64 = 0.1;
println("{:.2}", c);
}
error[E2001]: failed to parse Wave source: unsupported format placeholder `{:.2}`
The error is clear, so this is not a diagnostics problem. The gap is that {} on an f64 always prints six fraction digits (0.100000), so a program that wants 0.10, or the full precision of a double, has to format the number by hand.
I hit this while writing a JSON library in Wave: I had to implement shortest round-trip and fixed-precision double formatting myself just to print a number the way I wanted.
Suggestion
Support at least {:.N} (precision) for floats, and ideally width/fill/alignment ({:5}, {:>8}, {:08}) and an integer radix ({:x}), or document that formatting is expected to be done in library code.
Version
wavec 0.2.1-pre-beta (LLVM 21.1.8), Ubuntu 26.04, x86_64.
- Lenguaje dominante
- Rust
- Estrellas
- 56
- Forks
- 21
- Merge medio
- 23 h 20 min
- PR fusionados (30 d)
- 45
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
-
Reject unrepresentable POSIX listener descriptors before Unix-domain acceptPosiblemente ocupada @ShahadatTest la tomó hace 6 días. Abiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
wavefnd/Wave#1082 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Preserve expression assembly result types when recording HIR conversionsPosiblemente ocupada @hiyouwhatsapp la tomó hace 1 día. Abiertobug help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
bug help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 53/100
Los mantenedores suelen responder en 1 día
-
Preserve the previous build output when writing its Cargo receipt failsPosiblemente ocupada @hiyouwhatsapp la tomó hace 2 días. Abiertobug build help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
Los mantenedores suelen responder en 1 día
-
Reconcile obsolete staging assets before verifying a new Nightly generationPosiblemente ocupada @hiyouwhatsapp la tomó hace 2 días. Abiertobug ci help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de wavefnd/Wave
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
area:frontend kind:bug priority:p3 ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
bug priority: medium ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
storytold/vectorcraft#6333 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug lexer
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
yara-x fails to build with rsa 0.10.0: unresolved import rsa::Pkcs1v15SignPosiblemente ocupada @CfirTsabari la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
VirusTotal/yara-x#865 ·
Los mantenedores suelen responder en 1 día