Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Inheriting from a generic class, which uses an annotated table definition causes fields to get lost

Aberta
#3,443 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
lua
Domínio
devtools

Direção de pesquisa

Reproduza o problema no NeoVim usando o construtor de tabela GenericSuper e a herança Specific : GenericSuper mostrados no relatório. Compare os resultados do hover para a forma do construtor de tabela e a forma equivalente @field; considera-se concluído quando t.value é inferido como string no caso do construtor de tabela herdado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

How are you using the lua-language-server?

NeoVim

Which OS are you using?

Windows

What is the issue affecting?

Annotations, Type Checking

Expected Behaviour
--- (field) Specific.value: string
hover(t.value)
Actual Behaviour
--- (field) Specific.value: unknown
hover(t.value)
Reproduction steps
---@class GenericSuper<T> : { value: T }

---@class Specific : GenericSuper<string>

---@type Specific
local t

hover(t.value)

Then hover on t.value

Additional Notes

Interestingly this seems to only affect inheriting from table constructor. When converting it into a field, it works as expected:

---@class GenericSuper<T>
---@field value T

---@class Specific : GenericSuper<string>

---@type Specific
local t

--- (field) Specific.value: string
hover(t.value)
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

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de LuaLS/lua-language-server

Todas as issues de LuaLS/lua-language-server

Issues semelhantes

Mais issues de Lua

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.