2
2
// Repro from #10041
3
3
4
4
(''.match(/ /) || []).map(s => s.toLowerCase());
5
- >(''.match(/ /) || []).map(s => s.toLowerCase()) : string []
6
- >(''.match(/ /) || []).map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
7
- >(''.match(/ /) || []) : RegExpMatchArray
8
- >''.match(/ /) || [] : RegExpMatchArray
5
+ >(''.match(/ /) || []).map(s => s.toLowerCase()) : any []
6
+ >(''.match(/ /) || []).map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
7
+ >(''.match(/ /) || []) : RegExpMatchArray | never[]
8
+ >''.match(/ /) || [] : RegExpMatchArray | never[]
9
9
>''.match(/ /) : RegExpMatchArray | null
10
10
>''.match : (regexp: string | RegExp) => RegExpMatchArray | null
11
11
>'' : ""
12
12
>match : (regexp: string | RegExp) => RegExpMatchArray | null
13
13
>/ / : RegExp
14
14
>[] : never[]
15
- >map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
16
- >s => s.toLowerCase() : (s: string ) => string
17
- >s : string
18
- >s.toLowerCase() : string
19
- >s.toLowerCase : () => string
20
- >s : string
21
- >toLowerCase : () => string
15
+ >map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
16
+ >s => s.toLowerCase() : (s: any ) => any
17
+ >s : any
18
+ >s.toLowerCase() : any
19
+ >s.toLowerCase : any
20
+ >s : any
21
+ >toLowerCase : any
22
22
23
23
// Similar cases
24
24
@@ -34,23 +34,23 @@ function f1() {
34
34
>/ / : RegExp
35
35
36
36
let y = x || [];
37
- >y : RegExpMatchArray
38
- >x || [] : RegExpMatchArray
37
+ >y : RegExpMatchArray | never[]
38
+ >x || [] : RegExpMatchArray | never[]
39
39
>x : RegExpMatchArray | null
40
40
>[] : never[]
41
41
42
42
let z = y.map(s => s.toLowerCase());
43
- >z : string []
44
- >y.map(s => s.toLowerCase()) : string []
45
- >y.map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
46
- >y : RegExpMatchArray
47
- >map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
48
- >s => s.toLowerCase() : (s: string ) => string
49
- >s : string
50
- >s.toLowerCase() : string
51
- >s.toLowerCase : () => string
52
- >s : string
53
- >toLowerCase : () => string
43
+ >z : any []
44
+ >y.map(s => s.toLowerCase()) : any []
45
+ >y.map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
46
+ >y : RegExpMatchArray | never[]
47
+ >map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
48
+ >s => s.toLowerCase() : (s: any ) => any
49
+ >s : any
50
+ >s.toLowerCase() : any
51
+ >s.toLowerCase : any
52
+ >s : any
53
+ >toLowerCase : any
54
54
}
55
55
56
56
function f2() {
@@ -65,23 +65,23 @@ function f2() {
65
65
>/ / : RegExp
66
66
67
67
let y = x ? x : [];
68
- >y : RegExpMatchArray
69
- >x ? x : [] : RegExpMatchArray
68
+ >y : RegExpMatchArray | never[]
69
+ >x ? x : [] : RegExpMatchArray | never[]
70
70
>x : RegExpMatchArray | null
71
71
>x : RegExpMatchArray
72
72
>[] : never[]
73
73
74
74
let z = y.map(s => s.toLowerCase());
75
- >z : string []
76
- >y.map(s => s.toLowerCase()) : string []
77
- >y.map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
78
- >y : RegExpMatchArray
79
- >map : <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]
80
- >s => s.toLowerCase() : (s: string ) => string
81
- >s : string
82
- >s.toLowerCase() : string
83
- >s.toLowerCase : () => string
84
- >s : string
85
- >toLowerCase : () => string
75
+ >z : any []
76
+ >y.map(s => s.toLowerCase()) : any []
77
+ >y.map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
78
+ >y : RegExpMatchArray | never[]
79
+ >map : ( <U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[])
80
+ >s => s.toLowerCase() : (s: any ) => any
81
+ >s : any
82
+ >s.toLowerCase() : any
83
+ >s.toLowerCase : any
84
+ >s : any
85
+ >toLowerCase : any
86
86
}
87
87
0 commit comments