LuaLS / LuaLS/lua-language-server

`@deprecated` is ignored on globals when assigned by another global

Offen
#3,074 2 Kommentare 0 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

meta.lua

---@meta

--
--Assigning a global fails.
--

Global = {}

---@deprecated
AssignedGlobal = Global


--
--Assigning a field of a global also fails.
--

Global.field = {}

---@deprecated
AssignedGlobalField = Global.field

--
--Standard object works.
--

---@deprecated
Object = {}


--
--Assignment of local object works.
--

local alsoWorking = {}

---@deprecated
AssignedLocalObject = alsoWorking

test.lua

local x = AssignedGlobal
local y = AssignedGlobalField
local z = Object
local a = AssignedLocalObject

Image

Interestingly the deprecation is shown correctly in the autocomplete:

Image

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 mit dem Reproducer in meta.lua und test.lua und führe ihn dann durch den Language Server, um die Deprecation-Behandlung für globale, Feld-, Standardobjekt- und lokale Zuweisungen zu vergleichen. Als erledigt gilt die Aufgabe, wenn AssignedGlobal und AssignedGlobalField wie Object und AssignedLocalObject als deprecated markiert sind und das Autocomplete-Verhalten erhalten bleibt.

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
45/100

Neue Issues direkt in Ihr Postfach

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