Open
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?
Other
Expected Behaviour
Actual Behaviour
Reproduction steps
Maybe I'm doing something wrong, but it seems to have worked before
---@class Test
---@field ID integer
local Test = {};
---@param id integer
---@return Test
function Test:new(id)
return setmetatable({ ID = id }, { __index = self });
end
---@type table <integer, table<integer, number>>
local tab = {
[1] = { 1.0, 2.1, 3.2 },
[2] = { 4.0, 5.1, 6.2 },
[3] = { 7.0, 8.1, 9.2 }
}
---@generic T
---@param test table<integer, T>
---@return table<Test, T>
local function convert2Test(test)
local t = {};
for k, v in pairs(test) do
t[Test:new(k)] = v;
end
return t;
end
local newTab = convert2Test(tab);
for k, v in pairs(newTab) do
print(k, v); -- ok! k and v detected
end
local test = Test:new(3);
local info = newTab[test];
if info then
for k, v in pairs(info) do
print(k, v); -- oops! k and v not detected
end
end
Additional Notes
No response
Log File
No response