LuaLS / LuaLS/lua-language-server
Diagnostics for class array
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
### How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
### Which OS are you using?
Windows
### What is the issue affecting?
Type Checking
### Expected Behaviour
When a class is matched with its array it should produce a diagnostic error.
### Actual Behaviour
No diagnostic error is produced when a class array is matched with a class.
### Reproduction steps
1. Paste the following code:
```lua
---@class classA
local a
---@type classA[]
local b
---@param param1 classA[]
---@return classA
local function testFunc(param1)
param1 = a
return b
end
local result = testFunc(a)
```
2. Assigning `param1`, returning `b` and calling `testFunc` with `a` should all produce diagnostic errors, but no diagnostic error is produced.
### Additional Notes
Another class, such as `classB` can be matched with `classA[]` without error.
### Log File
_No response_
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
Ejecuta la reproducción de Lua en la extensión de Visual Studio Code e inspecciona el punto de entrada del diagnóstico de comprobación de tipos para comprobar la compatibilidad entre clases y arrays. Verifica que asignar param1, devolver b y llamar a testFunc(a) produzca diagnósticos en cada caso, mientras que la comparación de classB siga cubierta por el comportamiento existente.
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
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100