Type narrowing breaks on equivalence to false.
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Reproduisez le problème dans l’extension Visual Studio Code à l’aide de l’extrait Lua et survolez y dans les deux branches. Suivez le comportement de la vérification de type pour x == false, puis vérifiez que la branche true se résout en false et la branche false en true, y compris pour des unions telles que integer|false|nil.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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
When x is a boolean, if x == false then should identify x as false in its true block, and true in its false block.
Actual Behaviour
In the true block, x is identified as true, and in the false block, x is identified as boolean.
Reproduction steps
- Paste this code into the editor
local x ---@type boolean
if x == false then
local y = x
-- y is type `true`, should be type `false`
else
local y = x
-- y is type 'boolean', should be type 'true'
end
- Hover over
yto inspect its type.
Additional Notes
This doesn't just happen with boolean types. It can happen to any type that can be false, such as integer|false|nil.
Log File
No response
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Merge moyen
- 8 j 9 h
- PR mergées (30 j)
- 1
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.
Autres issues de LuaLS/lua-language-server
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
LuaLS/lua-language-server#1776 ·
-
泛型for迭代器的类型推导漏掉了带__call的类 Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
LuaLS/lua-language-server#3463 · 5 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
LuaLS/lua-language-server#3461 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
LuaLS/lua-language-server#3460 · 1 commentaire · 1 réaction ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
LuaLS/lua-language-server#3459 · 1 réaction ·
Toutes les issues de LuaLS/lua-language-server
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
openSUSE/python-rpm-macros#219 ·
-
bug mini.bracketed
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
accessibility bug typst
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
quarto-dev/quarto-cli#14947 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
HenrikBengtsson/CBI-software#134 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
secondlife/slua#96 ·