LuaLS / LuaLS/lua-language-server
Wrong type for generic
Offen
Dieses Issue hat noch niemand übernommen.
enhancement
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
MacOS
What is the issue affecting?
Type Checking
Expected Behaviour
---@class lanes.Lane<TResult...> : { [integer] : TResult... }
---Arg must be a fun!
---@generic TReturn..., TParams...
---@param func fun(...: TParams...): TReturn...
---@return fun(...: TParams...): lanes.Lane<TReturn...>
function lanes.gen(func) end
---@param a number
---@param b number
---@return number
local function add(a, b)
return a + b
end
local test = lanes.gen(add)
local x = test(1, 2)[1]
that x show up as a number
Actual Behaviour
x is <TResult...>
Reproduction steps
Use the code above
Additional Notes
No response
Log File
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Lua-Snippet im Bericht und reproduziere das Ergebnis der Typprüfung in der Visual Studio Code-Erweiterung. Verfolge, wie generische Rückgabetypen für lanes.gen inferiert werden, und überprüfe den inferierten Typ von x. Erledigt bedeutet, dass das Beispiel x als Zahl statt als <TResult...> meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100