LuaLS / LuaLS/lua-language-server
Nested property type lost when accessed from reference
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lua
- Stelle
- 4.4k
- Fork
- 442
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### 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
``` ---@class A
local A = {}
---@class B
---@overload fun(): B
local B = {}
---@class C
---@overload fun(): C
local C = {}
A.property1 = B()
A.property1.property2 = C()
local refToB = A.property1
local refToC = refToB.property2
```
while the local `refToB` is correctly of type `B`, it no longer is aware of property2.

expected behavior would be that it is aware of the properties assigned to the instance.
### Actual Behaviour
presence of property is lost in the "instance" of object B (not definition).
### Reproduction steps
1. Go to '...'
2. Click '...'
3. See error '...'
### Additional Notes
_No response_
### Log File
_No response_
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con l’esempio di controllo dei tipi in Lua riportato nell’issue e riproduci le informazioni mancanti sulle proprietà attraverso le assegnazioni a A.property1, refToB e refToC. Traccia il comportamento rilevante del controllo dei tipi finché refToB non conserva property2 e refToC non viene risolto come C; nell’issue non vengono indicati né un file del repository né un test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- lua
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100