LuaLS / LuaLS/lua-language-server
generic param no hint
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
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?
Completion
Expected Behaviour
---删除物品
---@class pb.S2C_DelItem
---@field itemId integer 物品id
---发送协议到客户端
---@generic T
---@param cmd pb.`T` 命令名
---@param args T
---@return T
function sendToClient(cmd, args)
return nil
end
local ret = sendToClient("S2C_DelItem",{
itemId = 1, -- 无法推断出args为pb.S2C_DelItem类型,输入itemId无字段类型提示
})
ret.itemId -- 返回值能推断出为pb.S2C_DelItem类型,输入itemId有字段类型提示
Actual Behaviour
能正确推断出泛型参数类型并有代码提示
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
Beginne mit dem allgemeinen Inferenz- und Completion-Verhalten, das durch das sendToClient-Beispiel im Issue ausgeübt wird. Reproduziere es mit dem bereitgestellten Code im Lua language server und verifiziere anschließend, dass die args-Tabelle Feldhinweise für pb.S2C_DelItem erhält, während der zurückgegebene Wert seine inferierten Felder beibehält.
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
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100