diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2022-11-07 14:24:41 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2022-11-07 14:24:41 +0800 |
commit | b1e0cdbeb13656f1fcd6cb2d45b8095e5b511457 (patch) | |
tree | 6e40bc32795439f263c4d7067562581a739f656b | |
parent | b175fd29848e5f09ae8eba6372966c85184d107f (diff) | |
download | lua-language-server-b1e0cdbeb13656f1fcd6cb2d45b8095e5b511457.zip |
fix again
-rw-r--r-- | script/core/diagnostics/assign-type-mismatch.lua | 6 | ||||
-rw-r--r-- | test/diagnostics/type-check.lua | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/script/core/diagnostics/assign-type-mismatch.lua b/script/core/diagnostics/assign-type-mismatch.lua index 3ec0a56c..abe78ccd 100644 --- a/script/core/diagnostics/assign-type-mismatch.lua +++ b/script/core/diagnostics/assign-type-mismatch.lua @@ -76,14 +76,14 @@ return function (uri, callback) return end if source.type == 'setfield' - or source.type == 'setindex' - or source.type == 'tableexp' then + or source.type == 'setindex' then return end end local valueNode = vm.compileNode(value) - if source.type == 'setindex' then + if source.type == 'setindex' + or source.type == 'tableexp' then -- boolean[1] = nil valueNode = valueNode:copy():removeOptional() end diff --git a/test/diagnostics/type-check.lua b/test/diagnostics/type-check.lua index ff75f3cc..81cb1050 100644 --- a/test/diagnostics/type-check.lua +++ b/test/diagnostics/type-check.lua @@ -961,6 +961,14 @@ TEST [[ local t = { true, false, nil } ]] +TEST [[ +---@type boolean|nil +local x + +---@type boolean[] +local t = { true, false, x } +]] + config.remove(nil, 'Lua.diagnostics.disable', 'unused-local') config.remove(nil, 'Lua.diagnostics.disable', 'unused-function') config.remove(nil, 'Lua.diagnostics.disable', 'undefined-global') |