LuaLS / LuaLS/lua-language-server

Adding an overload to an @class changes the result and gives type errors.

Offen
#2,978 5 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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?

Linux

What is the issue affecting?

Type Checking

Expected Behaviour

Adding an Overload under ---@class should not change anything about how the type is handled.

Actual Behaviour

image

Here we have a class declaration and it's exactly how I want.

image

Adding an overload for the constructor generates warnings? Doesn't really make any sense.

Reproduction steps

Use ---@class to define a class.
Add ---@overload.
Make sure the class library you're using returns anything but any when extending or creating a new class.

Additional Notes

No response

Log File

No response

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

Der Payload nennt keine Quelldatei und keinen Test; beginne damit, den Fall in der Visual Studio Code-Erweiterung mit einer Lua ---@class-Deklaration und ---@overload zu reproduzieren, und vergleiche dann die Ergebnisse der Typprüfung mit und ohne den Overload. Verfolge die daran beteiligte Verarbeitung von Klassen und Konstruktoren und betrachte das Problem als gelöst, wenn das Hinzufügen des Overloads die gültige Typbehandlung nicht mehr verändert oder die gemeldeten Warnungen erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua, vscode
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.