Cannot inherit generic classes (including tables)
还没有人认领这个 Issue。
评估
调研方向
按照描述,在 Linux 上使用 Neovim,结合提供的 NumberTable 和 FirstElement 注解,在 LuaLS 中复现该问题。将 t[1] 的推断类型与直接使用 number[] 的情况以及 table 的变体进行比较。当继承的泛型和表注解能够一致地将元素识别为 number 时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Hello, I apologize for bringing yet another generics issue as I know it takes time for it to be made solid... Thanks for looking into my problem. I use the following code to extend the number[] class, but then the elements are not marked as numbers for a non literal object.
---@class NumberTable: number[]
---@param t NumberTable
---@return number|nil
function FirstElement(t)
local n = t[1] -- marked as unknown
return n
end
---@param t number[]
---@return number|nil
function FirstElementBis(t)
local n = t[1] -- marked as number
return n
end
I would expect t[1] to be marked as number. I also tried replacing number[] with table<number> and table<number, number> without success. Thank you!
(I use LuaLS on Neovim on Linux)
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- 平均合并
- 8 天 9 小时
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
LuaLS/lua-language-server 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 62/100
LuaLS/lua-language-server#1776 ·
-
难度 3/5 1-2 天 新手友好度 65/100
LuaLS/lua-language-server#3463 · 5 条评论 ·
-
难度 4/5 3-5 天 新手友好度 55/100
LuaLS/lua-language-server#3461 ·
-
难度 3/5 1-2 天 新手友好度 68/100
LuaLS/lua-language-server#3460 · 1 条评论 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 68/100
LuaLS/lua-language-server#3459 · 1 个 reaction ·
查看 LuaLS/lua-language-server 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
难度 1/5 1 小时以内 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 75/100
secondlife/slua#96 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100