Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Function overloading by declaring multiple functions with same name appears to be completely broken

Offen
#3,396 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
lua
Bereich
devtools

Rechercherichtung

Beginne damit, das Problem mit dem minimalen Lua-Snippet im Bericht zu reproduzieren, und vergleiche es mit dem funktionierenden @overload-Beispiel. Verfolge anschließend den Type-Checking-Pfad für wiederholte Funktionsdeklarationen und die Overload-Auflösung, und überprüfe dann, dass der Aufruf mit einem Argument erfolgreich ist, während der Aufruf mit zwei Argumenten weiterhin gültig bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

MacOS

What is the issue affecting?

Annotations, Type Checking

Expected Behaviour

Given:

---@meta

---@param stringParam string
function DoSomething(stringParam) end

---@param intParam1 integer
---@param intParam2 integer
function DoSomething(intParam1, intParam2) end

DoSomething("test")

I would expect DoSomething("test") to pass typechecking, because it meets the first definition of DoSomething (a single string parameter).

Actual Behaviour

Typechecking fails with "This function requires 2 argument(s) but instead it is receiving 1. (missing-parameter)"

Reproduction steps
  1. Paste the above code into a file
  2. Hover over the last line (DoSomething("test"))
  3. See error
Additional Notes

This issue does not apply to the use of @overload for functions. This passes typechecking:

---@meta

---@param stringParam string
---@overload fun(intParam1: integer, intParam2: integer)
function DoSomething(stringParam) end

DoSomething("test")
Log File

No response

Vorherrschende Sprache
Lua
Sterne
4.4k
Forks
442
Ø Merge
8 T. 9 Std.
Gemergte PRs (30 T.)
1

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus LuaLS/lua-language-server

Alle Issues in LuaLS/lua-language-server

Ähnliche Issues

Weitere Issues zu Lua

Neue Issues direkt in Ihr Postfach

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