LuaLS / LuaLS/lua-language-server
Unexpected typechecking (with classes only?)
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Lua
- Estrelas
- 4.4k
- Forks
- 442
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
### How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
### Which OS are you using?
MacOS
### What is the issue affecting?
Type Checking
### Expected Behaviour
```lua
---@param a string
---@return string
local function expandHeader(a) return a end
---@class baz
---@field header string?
---@type baz
local foo = {}
local bar = foo.header
expandHeader(foo.header) -- param-type-mismatch
expandHeader(bar) -- param-type-mismatch
```
### Actual Behaviour
```lua
---@param a string
---@return string
local function expandHeader(a) return a end
---@class baz
---@field header string?
---@type baz
local foo = {}
local bar = foo.header
expandHeader(foo.header) -- NO WARNING
expandHeader(bar) -- param-type-mismatch
```
### Reproduction steps
See actual behavior
### Additional Notes
_No response_
### Log File
_No response_
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.
Direção de pesquisa
Comece com a reprodução em Lua na issue e inspecione o caminho de verificação de tipos para campos nullable em classes anotadas. Confirme o comportamento tanto para expandHeader(foo.header) quanto para expandHeader(bar); considera-se concluído quando ambas as chamadas reportarem a incompatibilidade de tipo do parâmetro esperada.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- lua
- Domínio
- devtools
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100