LuaLS / LuaLS/lua-language-server
Generic class instanced in function should return as a concrete type
Dieses Issue hat noch niemand übernommen.
- 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?
Windows
### What is the issue affecting?
Annotations, Hover
### Expected Behaviour
-
### Actual Behaviour
Hovering `strings` in this code below gives the type as `local strings: list<>|{ [integer]: string }`, whereas I expect the type/hover to be `local strings: list`.
```lua
---@class list: {[integer]:T}
---@generic T
---@param class `T`
---@return list
local function new_list(class)
return {}
end
local strings = new_list('string')
```
### Reproduction steps
-
### 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
Beginnen Sie mit dem Lua-Reproduzenten im Issue und untersuchen Sie den Hover-/Typinferenzpfad für die Instanziierung generischer Klassen. Reproduzieren Sie den gemeldeten Hover `list<>|{ [integer]: string }` und überprüfen Sie, dass das Ergebnis `list` ist.
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