LuaLS / LuaLS/lua-language-server
Type checking for functions as argument?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Is there something I can do have type checking for passed in functions?
```lua
---@param fn fun(i: integer)
local function accepts_integer_function(fn)
end
---@type fun(s: string)
local function mismatching_function(s)
end
-- expecting this to raise an error, but it doesn't
accepts_integer_function(mismatching_function)
```
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 minimalen Lua-Beispiel im Issue und verfolge, wie der Language Server den Parameter fun(i: integer) von accepts_integer_function gegen den Typ fun(s: string) von mismatching_function prüft. Fertig ist die Aufgabe, wenn der Language Server an dem Aufruf, an den die inkompatible Funktion übergeben wird, einen Typfehler meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 55/100