LuaLS / LuaLS/lua-language-server

`unknown-cast-variable` in last function of a file

Abierto
#2,326 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug feat/diagnostics
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

I have a file with two functions that both cast a local variable to a different type. This works perfectly for the first function but fails for the second (or the last if I add more functions).

### Actual Behaviour

Error `Unknown type conversion variable item (unknown-cast-variable)` for the `---@cast item B` inside `fu()`.

### Reproduction steps

```lua
---@alias A table
---@alias B table

---@type table
local items = {}

function fu()
local item = items[1]
---@cast item B
end

function bar()
local item = items[1]
-- Error appears here:
---@cast item B
end
```

### 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

Empieza con la reproducción en Lua del issue y sigue cómo el language server gestiona las variables `---@cast` entre funciones consecutivas. Compara el cast correcto en `fu()` con el cast fallido en `bar()`; se considera terminado cuando ambos casts se aceptan sin `unknown-cast-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
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
58/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.