LuaLS / LuaLS/lua-language-server
Type narrowing in ternary operator not working correctly
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
In a ternary expression with type checking: "local a = type(x) == "something" and dosomething(x) or somethingelse(x)", the type should be narrowed for both cases
Actual Behaviour
The type is only narrowed for the first case (boolean here), in the second case it is still boolean or string
Reproduction steps
Copy the code
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’expression ternaire signalée dans l’extension Visual Studio Code sous Windows et examinez le comportement de la vérification des types pour les deux branches. Confirmez que la deuxième branche restreint la valeur comme prévu, au lieu de conserver le type booléen-ou-chaîne.
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é
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100