rescript-lang / rescript-lang/rescript
[reanalyze] [bug] division_by_zero exception analysis should check constant denominators
Abierto
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- OCaml
- Estrellas
- 7.5k
- Forks
- 485
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 55
Descripción
repro:
let foo = (x: int) => {
x / 10
}
reanalyze gives:
{
"name": "Exception Analysis",
"kind": "warning",
"file": "Foo.res",
"range": [20,4,20,7],
"message": "foo might raise Division_by_zero (Foo.res:22:4) and is not annotated with @raises(Division_by_zero)",
"annotate": { "line": 20, "character": 0, "text": "@raises(Division_by_zero)\n", "action": "Add @raises annotation"}
}
it's trivially clear that division by zero can't happen, and so reanalyze should not suggest the annotation.
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.
Línea de trabajo
Comienza en la ruta de análisis de excepciones de reanalyze que informa de Division_by_zero para la expresión mostrada x / 10. Rastrea cómo se clasifican los valores del denominador y, a continuación, verifica que un denominador constante distinto de cero ya no produzca la advertencia de anotación, mientras la reproducción del issue siga estando cubierta.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ocaml
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 45/100