LuaLS / LuaLS/lua-language-server

`__call` metamethod return type ignored

Abierto
#95 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement feat/LuaCats Annotations priority.low
Lenguaje dominante
Lua
Estrellas
4.4k
Forks
442
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

This works in Intelij but not with your extension

---@class Test
local Test = {
	someval=404
}
---@return Test
function Test:__call() end
setmetatable(Test, Test)

local t = Test()
-- No completion for the following
t.

As i note it seems that setmetatable might not even be accounted for and that only the fact __call is in the same table makes it work in InteliJ, though i am not sure.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo el fragmento de Lua y comprobando la finalización después de local t = Test() y t.. Rastrea cómo la extensión infiere los tipos de retorno de __call y si se tiene en cuenta setmetatable; se considera terminado cuando el tipo Test devuelto muestra la finalización de someval.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
lua
Área
devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.