Incorrect type on string-key fields when combined with `[string]`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
Rechercherichtung
Keine Repository-Datei oder kein Test ist benannt. Beginne damit, die Suche nach dem annotierten GlobalModSettings im Lua language server über die Visual Studio Code extension zu reproduzieren, und verfolge anschließend die Typauflösung für indizierte Felder. Als abgeschlossen gilt es, wenn ein Feld mit exakt passendem String-Schlüssel seinen spezifischeren Typ statt des allgemeineren Feldtyps [string] erhält.
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?
Windows
What is the issue affecting?
Type Checking
Expected Behaviour
we have a (generated) class like
---@class GlobalModSettings
---@field ["heat-visualizer-updates-per-surface-per-tick"] ModSetting<int32>
---@field ["nixie-tube-update-speed-alpha"] ModSetting<int32>
---@field ["nixie-tube-update-speed-numeric"] ModSetting<int32>
---@field [string] ModSetting<(int32)|(double)|(boolean)|(string)|(Color)>
which has narrower types for the known entries and a general type for the "everything else" field, but when i then use this type like
local x = settings.global["heat-visualizer-updates-per-surface-per-tick"]
x is given the type from the [string] field, rather than the one that is an exact match for that specific string
Actual Behaviour
(this template is always off screen and i've written the whole thing in the first box...)
Reproduction steps
(this template is always off screen and i've written the whole thing in the first box...)
Additional Notes
No response
Log File
No response
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- Ø Merge
- 8 T. 9 Std.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus LuaLS/lua-language-server
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
LuaLS/lua-language-server#1776 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 65/100
LuaLS/lua-language-server#3463 · 5 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
LuaLS/lua-language-server#3461 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
LuaLS/lua-language-server#3460 · 1 Kommentar · 1 Reaktion ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
LuaLS/lua-language-server#3459 · 1 Reaktion ·
Alle Issues in LuaLS/lua-language-server
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
openSUSE/python-rpm-macros#219 ·
-
bug mini.bracketed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
accessibility bug typst
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
quarto-dev/quarto-cli#14947 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100