LuaLS / LuaLS/lua-language-server
@generic return ignores question mark
Personne n'a encore pris cette issue.
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### 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
Type of `y` in example below is `integer?`
### Actual Behaviour
Type of `y` in example below is `integer`
### Reproduction steps
```lua
---@generic T
---@param test T
---@return T?
function Func(test)
end
--- @return integer?
function Func2()
end
local x = 0
local y = Func(x)
local z = Func2()
```
### Additional Notes
`T | nil` works as a workaround.
### Log File
_No response_
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduire le snippet Lua dans l’extension Visual Studio Code et inspecter les types inférés pour y et z, en comparant T? avec le contournement T | nil. C’est terminé lorsque le @return T? générique préserve nil, donc y est integer?, tandis que le résultat existant de Func2 reste integer?.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua, vscode
- Domaine
- devtools
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100