LuaLS / LuaLS/lua-language-server

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

Ouverte
#2,326 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug feat/diagnostics
Langage dominant
Lua
Étoiles
4.4k
Forks
442
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction en Lua dans l’issue et suivez la manière dont le language server gère les variables `---@cast` entre des fonctions consécutives. Comparez le cast réussi dans `fu()` avec le cast échoué dans `bar()` ; le travail est terminé lorsque les deux casts sont acceptés sans `unknown-cast-variable`.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
lua
Domaine
devtools
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
58/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.