-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue
Milestone
Description
TypeScript Version:
$ tsc --version
Version 2.0.0
Code
// concat-bug.ts
var a : Array<[number, number]>= [[1, 2]];
// Typescript detects these first two tuples as arrays of numbers (`number[]`) instead of `[number, number]`
a.concat([[3, 4], [5, 6], [7, 8]]);
Expected behavior:
No compile errors. (It works in the 1.8 playground)
Actual behavior:
$ tsc concat-bug.ts
concat-bug.ts(4,10): error TS2345: Argument of type '[number[], number[], [number, number]]' is not assignable to parameter of type '[number, number] | [number, number][]'.
Type '[number[], number[], [number, number]]' is not assignable to type '[number, number][]'.
Types of property 'pop' are incompatible.
Type '() => number[] | [number, number]' is not assignable to type '() => [number, number]'.
Type 'number[] | [number, number]' is not assignable to type '[number, number]'.
Type 'number[]' is not assignable to type '[number, number]'.
Property '0' is missing in type 'number[]'.
Note that the 3rd parameter is correctly detected as a tuple, but the first two are detected as arrays of numbers.
bradymholt, shama, tinganho and nghialt
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue