Type narrowing breaks on equivalence to false.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
Direção de pesquisa
Reproduza o problema na extensão do Visual Studio Code usando o snippet de Lua e passe o mouse sobre y em ambos os ramos. Rastreie o comportamento da verificação de tipos para x == false e, em seguida, verifique se o ramo true é resolvido como false e o ramo false como true, incluindo uniões como integer|false|nil.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Lua
- Estrelas
- 4.4k
- Forks
- 442
- Merge médio
- 8d 9h
- PRs com merge (30d)
- 1
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de LuaLS/lua-language-server
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
LuaLS/lua-language-server#1776 ·
-
泛型for迭代器的类型推导漏掉了带__call的类 Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
LuaLS/lua-language-server#3463 · 5 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
LuaLS/lua-language-server#3461 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
LuaLS/lua-language-server#3460 · 1 comentário · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
LuaLS/lua-language-server#3459 · 1 reação ·
Todas as issues de LuaLS/lua-language-server
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
secondlife/slua#96 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100