LuaLS / LuaLS/lua-language-server
Nested property type lost when accessed from reference
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?
Windows
What is the issue affecting?
Type Checking
Expected Behaviour
local A = {}
---@class B
---@overload fun(): B
local B = {}
---@class C
---@overload fun(): C
local C = {}
A.property1 = B()
A.property1.property2 = C()
local refToB = A.property1
local refToC = refToB.property2
while the local refToB is correctly of type B, it no longer is aware of property2.

expected behavior would be that it is aware of the properties assigned to the instance.
Actual Behaviour
presence of property is lost in the "instance" of object B (not definition).
Reproduction steps
- Go to '...'
- Click '...'
- See error '...'
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 o exemplo de verificação de tipos em Lua na issue e reproduza as informações de propriedade ausentes por meio das atribuições a A.property1, refToB e refToC. Rastreie o comportamento relevante da verificação de tipos até que refToB retenha property2 e refToC seja resolvido como C; nenhum arquivo do repositório ou teste é mencionado na issue.
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
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100