LuaLS / LuaLS/lua-language-server
Multipe parameters infer differently?
Abierto
Nadie ha tomado este issue todavía.
enhancement
- Lenguaje dominante
- Lua
- Estrellas
- 4.4k
- Forks
- 442
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Infers a and aa correctly but not the rest
---@diagnostic disable: codestyle-check, spell-check, unused-local
---@alias AnyChild A|B|C
---@class PARENT
local PARENT = {}
---@class A: PARENT
local A = {}
---@class B: PARENT
local B = {}
---@class C: PARENT
local C = {}
---@overload fun(self:PARENT): A
---@overload fun(self:AnyChild, other: A): A
---@overload fun(self:AnyChild, other: B): B
function PARENT:new(other)
self.a = 2
return {}
end
local a = A:new()
local aa = a:new()
local aaa = a:new(B)
local b = B:new(B)
local bb = b:new(B)
local bbb = b:new(C)

Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con la reproducción incrustada de Lua e inspecciona los tipos inferidos por el language server para aaa, b, bb y bbb en comparación con a y aa. Rastrea la resolución de sobrecargas para las llamadas con dos puntos y múltiples parámetros; después, añade o ejecuta una prueba de regresión específica que confirme los tipos inferidos esperados para todos los ejemplos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100