LuaLS / LuaLS/lua-language-server
Missing "need-check-nil" on self fields
Personne n'a encore pris cette issue.
- 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, Diagnostics/Syntax Checking
Expected Behaviour
I expect both methods to report the "need check nil" diagnostic:
---@class Y
---@field z string
---@class X
---@field y Y?
local X = {}
function X:no_warning()
print(self.y.z) -- no diagnostics
end
function X:warning()
local y = self.y
print(y.z) -- need-check-nil
end
Actual Behaviour
The potential problem is only reported when using a local variable.
Reproduction steps
Try the code above. and note how only the first method (no_warning) works without any diagnostics.
Additional Notes
No response
Log File
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez le problème dans l’extension Visual Studio Code en utilisant l’extrait Lua du rapport, puis comparez les diagnostics pour self.y.z avec le cas de la variable locale y.z. Suivez le point d’entrée de la vérification de type ou du diagnostic responsable de la vérification de nil ; le travail est terminé lorsque les deux méthodes signalent le diagnostic need-check-nil sans modifier les types de l’exemple.
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é
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 52/100