Outcome printer formats the bigint sign by hand instead of `Bigint_utils.to_string`
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
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- ocaml
- Área
- compilers
Línea de trabajo
Empieza en el caso de constantes bigint de compiler/syntax/src/res_outcome_printer.ml, alrededor de las líneas 486-487, donde el signo y los dígitos se unen a mano. Compáralo con Bigint_utils.to_string en compiler/ml/bigint_utils.ml y revisa cómo res_core.ml ya usa Bigint_utils desde la biblioteca syntax. Se considera terminado cuando el printer llama a la función auxiliar compartida, la lógica manual del signo se elimina y la salida impresa no cambia para bigints positivos y negativos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found by differential semantic drift analysis from ece8b148 to a7721303.
What is broken
res_outcome_printer.ml L486-L487 formats a bigint constant by hand: (if positive then "" else "-") ^ digits ^ "n". The same logic exists as Bigint_utils.to_string, used by printlambda.ml and printtyped.ml. #8732 fixed a sign bug in exactly this hand-written copy. The syntax library already depends on ml and uses Bigint_utils (res_core.ml), so the printer can call the shared helper and keep one definition of the sign convention.
Possible cause (speculation only)
A guess: the fix in #8732 corrected the copy in place, the smallest change, rather than replacing it with the shared helper.
- Lenguaje dominante
- OCaml
- Estrellas
- 7.5k
- Forks
- 484
- Merge medio
- 22 h 10 min
- PR fusionados (30 d)
- 70
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 rescript-lang/rescript
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rescript-lang/rescript#8765 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
rescript-lang/rescript#8761 ·
Los mantenedores suelen responder en 1 día
-
Issues from differential semantic drift analysis (ece8b148 to a7721303)Posiblemente ocupada @cknitt la tomó hace 1 día. Abierto
rescript-lang/rescript#8768 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
rescript-lang/rescript#8767 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 72/100
rescript-lang/rescript#8766 ·
Los mantenedores suelen responder en 1 día
Todos los issues de rescript-lang/rescript
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
bytecodealliance/wasm-tools#2768 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
objectionary/jeo-maven-plugin#1898 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
jaseci-labs/jac#9934 ·
Los mantenedores suelen responder en 1 día