LuaLS / LuaLS/lua-language-server

`__call` metamethod return type ignored

Offen
#95 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement feat/LuaCats Annotations priority.low
Vorherrschende Sprache
Lua
Sterne
4.4k
Forks
442
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

This works in Intelij but not with your extension

---@class Test
local Test = {
	someval=404
}
---@return Test
function Test:__call() end
setmetatable(Test, Test)

local t = Test()
-- No completion for the following
t.

As i note it seems that setmetatable might not even be accounted for and that only the fact __call is in the same table makes it work in InteliJ, though i am not sure.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das Lua-Snippet zu reproduzieren und die Vervollständigung nach local t = Test() und t. zu überprüfen. Verfolge, wie die Erweiterung Rückgabetypen von __call ableitet und ob setmetatable berücksichtigt wird; abgeschlossen ist die Aufgabe, wenn der zurückgegebene Test-Typ die Vervollständigung von someval anbietet.

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
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.