Case 1:
declare function foo(): [];
[] = foo();
Case 2 (without strictNullChecks):
declare function foo(): [string] | [];
let x: string;
[x] = foo();
Error:
TypescriptToLua/node_modules/typescript/lib/typescript.js:13310
return node.kind === 169 /* ArrayType */;
^
TypeError: Cannot read property 'kind' of undefined
at Object.isArrayTypeNode (TypescriptToLua/node_modules/typescript/lib/typescript.js:13310:21)
at LuaTransformer.validateFunctionAssignment (TypescriptToLua/src/LuaTransformer.ts:4137:20)
at LuaTransformer.transformAssignmentStatement (TypescriptToLua/src/LuaTransformer.ts:2447:14)
at LuaTransformer.transformExpressionStatement (TypescriptToLua/src/LuaTransformer.ts:1726:29)
at LuaTransformer.transformStatement (TypescriptToLua/src/LuaTransformer.ts:167:29)
at statements.forEach.statement (TypescriptToLua/src/LuaTransformer.ts:205:83)
at Array.forEach (<anonymous>)
at LuaTransformer.transformStatements (TypescriptToLua/src/LuaTransformer.ts:204:40)
at LuaTransformer.transformFunctionBody (TypescriptToLua/src/LuaTransformer.ts:1180:58)
at LuaTransformer.transformFunctionExpression (TypescriptToLua/src/LuaTransformer.ts:2983:40)
Case 1:
Case 2 (without strictNullChecks):
Error: