LuaLS / LuaLS/lua-language-server

missing-fields ignores fields set post-assignment

Abierto
#2,293 1 comentario 0 reacciones 0 asignados Ver en GitHub

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?

Diagnostics/Syntax Checking

Expected Behaviour

Assigning a table to a variable with @type annotation and filling out the class's fields and functions afterwards should not trigger missing-fields.

Actual Behaviour

A missing-fields diagnostic is triggered despite fields being set after the initial assignment of the variable yet before the variable is used for anything.
image

Reproduction steps

Small script that replicates the issue:

---@class MyInterface
---@field DoAction fun()

---@type MyInterface
local inst = {}

-- Does not remove `missing-fields` diagnostic
inst.DoAction = function() end

missing-fields will trigger on inst.

Additional Notes

No response

Log File

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la reproducción en Lua del issue y sigue el diagnóstico de campos faltantes para una tabla tipada cuyo campo se asigna después de la inicialización. Confirma el comportamiento en la extensión de Visual Studio Code en Windows; se considera terminado cuando el campo asignado posteriormente ya no produce un diagnóstico de campos faltantes antes de que se use la variable.

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
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.