tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(13,12): error TS2493: Tuple type '[string, number]' with length '2' cannot be assigned to tuple with length '3'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(14,12): error TS2460: Type 'StrNum' has no property '2'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(15,5): error TS2461: Type '{ 0: string; 1: number; }' is not an array type. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(16,5): error TS2322: Type '[string, number]' is not assignable to type '[number, number, number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(17,5): error TS2322: Type 'StrNum' is not assignable to type '[number, number, number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(18,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number, number, number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(19,5): error TS2322: Type '[string, number]' is not assignable to type '[string, number, number]'. Property '2' is missing in type '[string, number]'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(20,5): error TS2322: Type 'StrNum' is not assignable to type '[string, number, number]'. Property '2' is missing in type 'StrNum'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(21,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[string, number, number]'. Property '2' is missing in type '{ 0: string; 1: number; }'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(22,5): error TS2322: Type '[string, number]' is not assignable to type '[number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(23,5): error TS2322: Type 'StrNum' is not assignable to type '[number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(24,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(25,5): error TS2322: Type '[string, number]' is not assignable to type '[string]'. Types of property 'pop' are incompatible. Type '() => string | number' is not assignable to type '() => string'. Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(26,5): error TS2322: Type 'StrNum' is not assignable to type '[string]'. Types of property 'pop' are incompatible. Type '() => string | number' is not assignable to type '() => string'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(27,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[string]'. Property 'length' is missing in type '{ 0: string; 1: number; }'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(28,5): error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(29,5): error TS2322: Type 'StrNum' is not assignable to type '[number, string]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(30,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number, string]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. ==== tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts (18 errors) ==== interface StrNum extends Array { 0: string; 1: number; } var x: [string, number]; var y: StrNum var z: { 0: string; 1: number; } var [a, b, c] = x; ~ !!! error TS2493: Tuple type '[string, number]' with length '2' cannot be assigned to tuple with length '3'. var [d, e, f] = y; ~ !!! error TS2460: Type 'StrNum' has no property '2'. var [g, h, i] = z; ~~~~~~~~~ !!! error TS2461: Type '{ 0: string; 1: number; }' is not an array type. var j1: [number, number, number] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[number, number, number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var j2: [number, number, number] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[number, number, number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var j3: [number, number, number] = z; ~~ !!! error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number, number, number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var k1: [string, number, number] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[string, number, number]'. !!! error TS2322: Property '2' is missing in type '[string, number]'. var k2: [string, number, number] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[string, number, number]'. !!! error TS2322: Property '2' is missing in type 'StrNum'. var k3: [string, number, number] = z; ~~ !!! error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[string, number, number]'. !!! error TS2322: Property '2' is missing in type '{ 0: string; 1: number; }'. var l1: [number] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var l2: [number] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var l3: [number] = z; ~~ !!! error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var m1: [string] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[string]'. !!! error TS2322: Types of property 'pop' are incompatible. !!! error TS2322: Type '() => string | number' is not assignable to type '() => string'. !!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. var m2: [string] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[string]'. !!! error TS2322: Types of property 'pop' are incompatible. !!! error TS2322: Type '() => string | number' is not assignable to type '() => string'. var m3: [string] = z; ~~ !!! error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[string]'. !!! error TS2322: Property 'length' is missing in type '{ 0: string; 1: number; }'. var n1: [number, string] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var n2: [number, string] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[number, string]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var n3: [number, string] = z; ~~ !!! error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[number, string]'. !!! error TS2322: Types of property '0' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. var o1: [string, number] = x; var o2: [string, number] = y; var o3: [string, number] = y;