LuaLS / LuaLS/lua-language-server
Generic Class: a method does not catch the type
Offen
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
---@class Map<T>
Map = {}
---@param key T
---@return any?
function Map:Find(key) end
---@param key T
---@return boolean
function Map:Contains(key) end
---@param key T
function Map:Erase(key) end
function Map:Clear() end
---@class NumberMap: Map<number>
NumberMap = {}
---@return NumberMap
function NumberMap() end
local map = NumberMap()
map:Find(1)
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
Reproduziere die Diagnose mit den im Issue gezeigten Deklarationen generic Map, NumberMap: Map und map:Find(1). Beginne damit, die Propagierung von Generic-Class-Typen im Lua language server nachzuverfolgen und zu untersuchen, wie Map:Find seinen Schlüsselparameter auflöst. Als abgeschlossen gilt die Aufgabe, wenn die NumberMap-Spezialisierung beim Prüfen von Find-Aufrufen angewendet wird und die resultierende Diagnose dem konkreten Schlüsseltyp entspricht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 65/100