LuaLS / LuaLS/lua-language-server
`repeat…until val ~= nil` should satisfy the need for nil checks
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Lua
- Estrellas
- 4.4k
- Forks
- 442
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I have some code where I have to wait for a forked process to create a file and I can't get feedback over its return status or stdout, so I use a polling pattern similar to this:
```lua
local val = nil
-- kick off the external process
fork_process(...)
repeat
val = check_for_val(...)
until val ~= nil
val:foo()
```
In this current form, I get a diagnostic that says I need to perform a nil check on `val` before calling `foo`, but the loop condition here should be considered the nil check.
This already works for `while val == nil do...end` so it would be nice to see it for `repeat...until val~= nil` as well.
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
El issue no menciona ningún archivo fuente ni ninguna prueba; empieza localizando la lógica de flow analysis que gestiona las comprobaciones de nil para los bucles while y las condiciones repeat…until. Reproduce el ejemplo de polling y compara su diagnóstico con el comportamiento existente de while val == nil; el trabajo estará terminado cuando val:foo() ya no requiera una comprobación adicional de nil después de repeat…until val ~= nil.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100