LuaLS / LuaLS/lua-language-server
Generic class instanced in function should return as a concrete type
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?
Annotations, Hover
### Expected Behaviour
-
### Actual Behaviour
Hovering `strings` in this code below gives the type as `local strings: list<>|{ [integer]: string }`, whereas I expect the type/hover to be `local strings: list`.
```lua
---@class list: {[integer]:T}
---@generic T
---@param class `T`
---@return list
local function new_list(class)
return {}
end
local strings = new_list('string')
```
### Reproduction steps
-
### 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 reprodutor em Lua na issue e inspecione o caminho de hover/inferência de tipos para a instanciação de classes genéricas. Reproduza o hover relatado `list<>|{ [integer]: string }` e verifique se o resultado é `list`.
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