File: controlFlowNoImplicitAny.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (142 lines) | stat: -rw-r--r-- 3,972 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
tests/cases/compiler/controlFlowNoImplicitAny.ts(101,9): error TS7034: Variable 'x' implicitly has type 'any' in some locations where its type cannot be determined.
tests/cases/compiler/controlFlowNoImplicitAny.ts(110,19): error TS7005: Variable 'x' implicitly has an 'any' type.
tests/cases/compiler/controlFlowNoImplicitAny.ts(116,9): error TS7034: Variable 'x' implicitly has type 'any' in some locations where its type cannot be determined.
tests/cases/compiler/controlFlowNoImplicitAny.ts(125,19): error TS7005: Variable 'x' implicitly has an 'any' type.


==== tests/cases/compiler/controlFlowNoImplicitAny.ts (4 errors) ====
    declare let cond: boolean;
    
    // CFA for 'let' with no type annotation and initializer
    function f1() {
        let x;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
    }
    
    // CFA for 'let' with no type annotation and 'undefined' initializer
    function f2() {
        let x = undefined;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
    }
    
    // CFA for 'let' with no type annotation and 'null' initializer
    function f3() {
        let x = null;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | null
    }
    
    // No CFA for 'let' with with type annotation
    function f4() {
        let x: any;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // any
    }
    
    // CFA for 'var' with no type annotation and initializer
    function f5() {
        var x;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
    }
    
    // CFA for 'var' with no type annotation and 'undefined' initializer
    function f6() {
        var x = undefined;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
    }
    
    // CFA for 'var' with no type annotation and 'null' initializer
    function f7() {
        var x = null;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | null
    }
    
    // No CFA for 'var' with with type annotation
    function f8() {
        var x: any;
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // any
    }
    
    // No CFA for captured outer variables
    function f9() {
        let x;
            ~
!!! error TS7034: Variable 'x' implicitly has type 'any' in some locations where its type cannot be determined.
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
        function f() {
            const z = x;  // any
                      ~
!!! error TS7005: Variable 'x' implicitly has an 'any' type.
        }
    }
    
    // No CFA for captured outer variables
    function f10() {
        let x;
            ~
!!! error TS7034: Variable 'x' implicitly has type 'any' in some locations where its type cannot be determined.
        if (cond) {
            x = 1;
        }
        if (cond) {
            x = "hello";
        }
        const y = x;  // string | number | undefined
        const f = () => {
            const z = x;  // any
                      ~
!!! error TS7005: Variable 'x' implicitly has an 'any' type.
        };
    }