File: arrayLiterals.errors.txt

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (51 lines) | stat: -rw-r--r-- 3,105 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts(24,77): error TS2322: Type '{ a: string; b: number; c: string; }' is not assignable to type '{ a: string; b: number; }'.
  Object literal may only specify known properties, and 'c' does not exist in type '{ a: string; b: number; }'.
tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts(24,101): error TS2322: Type '{ a: string; b: number; c: number; }' is not assignable to type '{ a: string; b: number; }'.
  Object literal may only specify known properties, and 'c' does not exist in type '{ a: string; b: number; }'.


==== tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts (2 errors) ====
    // Empty array literal with no contextual type has type Undefined[]
    
    var arr1= [[], [1], ['']];
    
    var arr2 = [[null], [1], ['']];
    
    
    // Array literal with elements of only EveryType E has type E[]
    var stringArrArr = [[''], [""]];
    
    var stringArr = ['', ""];
    
    var numberArr = [0, 0.0, 0x00, 1e1];
    
    var boolArr = [false, true, false, true];
    
    class C { private p; }
    var classArr = [new C(), new C()];
    
    var classTypeArray = [C, C, C];
    var classTypeArray: Array<typeof C>; // Should OK, not be a parse error
    
    // Contextual type C with numeric index signature makes array literal of EveryType E of type BCT(E,C)[]
    var context1: { [n: number]: { a: string; b: number; }; } = [{ a: '', b: 0, c: '' }, { a: "", b: 3, c: 0 }];
                                                                                ~~~~~
!!! error TS2322: Type '{ a: string; b: number; c: string; }' is not assignable to type '{ a: string; b: number; }'.
!!! error TS2322:   Object literal may only specify known properties, and 'c' does not exist in type '{ a: string; b: number; }'.
!!! related TS6501 tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts:24:17: The expected type comes from this index signature.
                                                                                                        ~~~~
!!! error TS2322: Type '{ a: string; b: number; c: number; }' is not assignable to type '{ a: string; b: number; }'.
!!! error TS2322:   Object literal may only specify known properties, and 'c' does not exist in type '{ a: string; b: number; }'.
!!! related TS6501 tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts:24:17: The expected type comes from this index signature.
    var context2 = [{ a: '', b: 0, c: '' }, { a: "", b: 3, c: 0 }];
    
    // Contextual type C with numeric index signature of type Base makes array literal of Derived have type Base[]
    class Base { private p; }
    class Derived1 extends Base { private m };
    class Derived2 extends Base { private n };
    var context3: Base[] = [new Derived1(), new Derived2()];
    
    // Contextual type C with numeric index signature of type Base makes array literal of Derived1 and Derived2 have type Base[]
    var context4: Base[] = [new Derived1(), new Derived1()];