Skip to content

Commit 7699e4b

Browse files
committed
fix #1335
1 parent 2adc249 commit 7699e4b

File tree

4 files changed

+26
-0
lines changed

4 files changed

+26
-0
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# changelog
22

33
## 3.5.1
4+
* `FIX` [#1335](https://github.com/sumneko/lua-language-server/issues/1335)
45
* `FIX` [#1354](https://github.com/sumneko/lua-language-server/issues/1354)
56

67
## 3.5.0

script/vm/sign.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ function mt:resolve(uri, args, removeGeneric)
6363
resolve(object.node, vm.compileNode(field.extends))
6464
end)
6565
end
66+
if n.type == 'table' and #n >= 1 then
67+
-- { x } / { ... } -> T[]
68+
resolve(object.node, vm.compileNode(n[1]))
69+
end
6670
end
6771
end
6872
if object.type == 'doc.type.table' then

script/vm/type.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,9 @@ function vm.getTableValue(uri, tnode, knode, inversion)
310310
end
311311
end
312312
end
313+
if field.type == 'varargs' then
314+
result:merge(vm.compileNode(field))
315+
end
313316
end
314317
end
315318
end

test/type_inference/init.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3737,3 +3737,21 @@ function m:init()
37373737
return <?self?>
37383738
end
37393739
]]
3740+
3741+
TEST 'string' [[
3742+
---@vararg string
3743+
function F(...)
3744+
local t = {...}
3745+
for k, <?v?> in pairs(t) do
3746+
end
3747+
end
3748+
]]
3749+
3750+
TEST 'string' [[
3751+
---@vararg string
3752+
function F(...)
3753+
local t = {...}
3754+
for k, <?v?> in ipairs(t) do
3755+
end
3756+
end
3757+
]]

0 commit comments

Comments
 (0)