File: noImplicitAnyIndexing.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 (63 lines) | stat: -rw-r--r-- 2,331 bytes parent folder | download
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
52
53
54
55
56
57
58
59
60
61
62
63
tests/cases/compiler/noImplicitAnyIndexing.ts(12,37): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.
tests/cases/compiler/noImplicitAnyIndexing.ts(19,9): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.
tests/cases/compiler/noImplicitAnyIndexing.ts(22,9): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.
tests/cases/compiler/noImplicitAnyIndexing.ts(30,10): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.


==== tests/cases/compiler/noImplicitAnyIndexing.ts (4 errors) ====
    enum MyEmusEnum {
        emu
    }
    
    // Should be okay; should be a string.
    var strRepresentation1 = MyEmusEnum[0]
    
    // Should be okay; should be a string.
    var strRepresentation2 = MyEmusEnum[MyEmusEnum.emu]
    
    // Should be implicit 'any' ; property access fails, no string indexer.
    var strRepresentation3 = MyEmusEnum["monehh"];
                                        ~~~~~~~~
!!! error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.
    
    // Should be okay; should be a MyEmusEnum
    var strRepresentation4 = MyEmusEnum["emu"];
    
    
    // Should report an implicit 'any'.
    var x = {}["hi"];
            ~~~~~~~~
!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.
    
    // Should report an implicit 'any'.
    var y = {}[10];
            ~~~~~~
!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.
    
    
    var hi: any = "hi";
    
    var emptyObj = {};
    
    // Should report an implicit 'any'.
    var z1 = emptyObj[hi];
             ~~~~~~~~~~~~
!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature.
    var z2 = (<any>emptyObj)[hi];
    
    interface MyMap<T> {
        [key: string]: T;
    }
    
    var m: MyMap<number> = {
        "0": 0,
        "1": 1,
        "2": 2,
        "Okay that's enough for today.": NaN
    };
    
    var mResult1 = m[MyEmusEnum.emu];
    var mResult2 = m[MyEmusEnum[MyEmusEnum.emu]];
    var mResult3 = m[hi];