泛型类的成员函数通过@param注解的类泛型参数无法与调用时传入的实参正确匹配
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Commencez par reproduire les diagnostics de l’exemple Lua fourni via l’extension Visual Studio Code, en comparant la méthode déclarée avec des annotations @param à la fonction @field équivalente. Suivez la correspondance des types génériques utilisée pour stringBox.combine ; le travail est terminé lorsque les deux arguments ne produisent plus de diagnostics, tandis que combine2 continue d’être correctement géré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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?
Diagnostics/Syntax Checking
Expected Behaviour
如题,下面的 stringBox.combine(text, "true") 应该不会显示任何诊断问题:
---@generic T
---@class Box<T>
---@field storedValue T
---@field combine2 fun(first: T, second: T): T
local Box = {}
---@param first T
---@param second T
---@return T
function Box.combine(first, second) end
---@type Box<string>
local stringBox
local text = "123"
local r1 = stringBox.combine(text, "true")
local r2 = stringBox.combine2(text, "true")
Actual Behaviour
stringBox.combine(text, "true") 的两个参数均被诊断为:
Cannot assign `string` to parameter `T`.
- `string` cannot match `T`
- Type `string` cannot match `T`
而用@field声明的同类型函数combine2却能正常识别实参
Reproduction steps
- 复制我提供的复现代码,检查诊断结果
Additional Notes
No response
Log File
No response
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Merge moyen
- 8 j 9 h
- PR mergées (30 j)
- 1
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.
Autres issues de LuaLS/lua-language-server
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
LuaLS/lua-language-server#1776 ·
-
泛型for迭代器的类型推导漏掉了带__call的类 Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
LuaLS/lua-language-server#3463 · 5 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
LuaLS/lua-language-server#3461 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
LuaLS/lua-language-server#3460 · 1 commentaire · 1 réaction ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
LuaLS/lua-language-server#3459 · 1 réaction ·
Toutes les issues de LuaLS/lua-language-server
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
secondlife/slua#96 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100