Open SaekiYuu1997 opened 2 weeks ago
补充: 下面的代码也可以正确解析
function M:Test3()
---@type number
local id1 = self:GetIdx()
local val1 = self._testDict[id1]
end
emmylua的类型推断因为一些设计上的失误全面崩坏, 实际上当local id1 = self:GetIdx()
时, id1的真实类型是匿名类型, 他继承自number, 所以无法继续参与推断.
另外emmylua语言服务器当前正在重写的过程中, 所以我短时间内也不会修改这个BUG
emmylua的类型推断因为一些设计上的失误全面崩坏, 实际上当
local id1 = self:GetIdx()
时, id1的真实类型是匿名类型, 他继承自number, 所以无法继续参与推断.另外emmylua语言服务器当前正在重写的过程中, 所以我短时间内也不会修改这个BUG
这是仅存在vscode插件中的bug吗,我在jetbrain上使用这段代码能够正确解析Test1
中val1
的类型
vscode emmylua是完全不同的实现, 他是C#写的, 性能和各个方便都远强于intellij-emmylua
Version: vscode-emmyLua-0.8.20
以我的理解,上面的代码中
Test1
,Test2
中的val1
局部变量都应该是InnerStruct
类型。 这里是有bug还是我的用法有问题呢?