LuaLS / LuaLS/lua-language-server
Narrowing Types Issue
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
### Expected Behaviour
```
---@param param1 true | nil
---@param param2 false | nil
local function test(param1, param2)
if param1 == nil and param2 == nil then
local var3 = param1
local var4 = param2
elseif param1 ~= nil and param2 == nil then
local var5 = param1
local var6 = param2
elseif param1 == nil and param2 ~= nil then
local var7 = param1
local var8 = param2
else
local var9 = param1
local var10 = param2
end
end
```
In this function the vars should have the following types:
var3: nil
var4: nil
var5: true
var6: nil
var7: nil
var8: false
var9: true
var10: false
### Actual Behaviour
The actual values are:
var3: nil (correct)
var4: nil (correct)
var5: true (correct)
var6: nil (correct)
var7: nil (correct)
var8: unknown (incorrect)
var9: true | nil (incorrect)
var10: false | nil (incorrect)
### Reproduction steps
1. Copy Code
2. See Issue
### 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
Commencez par reproduire l’extrait Lua dans l’extension Visual Studio Code sous Windows et suivez le comportement de la vérification des types pour les deux dernières branches. C’est terminé lorsque les types inférés correspondent au rapport : var8 vaut false, var9 vaut true et var10 vaut false, les variables précédentes conservant leurs types indiqués.
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é
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100