@@ -46,29 +46,18 @@ function foo1(x: string = "string", b: number) {
46
46
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
47
47
}
48
48
49
- function foo2(x: string | undefined = "string", b: number) {
49
+ function foo2(x = "string", b: number) {
50
50
>foo2 : Symbol(foo2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 11, 1))
51
51
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 14))
52
- >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 47 ))
52
+ >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 27 ))
53
53
54
- x.length; // ok, should be narrowed to string
54
+ x.length;
55
55
>x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
56
56
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 14))
57
57
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
58
58
}
59
59
60
- function foo3(x = "string", b: number) {
61
- >foo3 : Symbol(foo3, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 15, 1))
62
- >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14))
63
- >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 27))
64
-
65
- x.length; // ok, should be narrowed to string
66
- >x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
67
- >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14))
68
- >length : Symbol(String.length, Decl(lib.d.ts, --, --))
69
- }
70
-
71
- // .d.ts should have `T | undefined` for foo1, foo2, foo3
60
+ // .d.ts should have `T | undefined` for foo1 and foo2
72
61
foo1(undefined, 1);
73
62
>foo1 : Symbol(foo1, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 7, 36))
74
63
>undefined : Symbol(undefined)
@@ -77,41 +66,37 @@ foo2(undefined, 1);
77
66
>foo2 : Symbol(foo2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 11, 1))
78
67
>undefined : Symbol(undefined)
79
68
80
- foo3(undefined, 1);
81
- >foo3 : Symbol(foo3, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 15, 1))
82
- >undefined : Symbol(undefined)
83
-
84
69
85
70
function removeUndefinedButNotFalse(x = true) {
86
- >removeUndefinedButNotFalse : Symbol(removeUndefinedButNotFalse, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 24 , 19))
87
- >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27 , 36))
71
+ >removeUndefinedButNotFalse : Symbol(removeUndefinedButNotFalse, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 19 , 19))
72
+ >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22 , 36))
88
73
89
74
if (x === false) {
90
- >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27 , 36))
75
+ >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22 , 36))
91
76
92
77
return x;
93
- >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27 , 36))
78
+ >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22 , 36))
94
79
}
95
80
}
96
81
97
82
declare const cond: boolean;
98
- >cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33 , 13))
83
+ >cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28 , 13))
99
84
100
85
function removeNothing(y = cond ? true : undefined) {
101
- >removeNothing : Symbol(removeNothing, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33 , 28))
102
- >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34 , 23))
103
- >cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33 , 13))
86
+ >removeNothing : Symbol(removeNothing, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28 , 28))
87
+ >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29 , 23))
88
+ >cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28 , 13))
104
89
>undefined : Symbol(undefined)
105
90
106
91
if (y !== undefined) {
107
- >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34 , 23))
92
+ >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29 , 23))
108
93
>undefined : Symbol(undefined)
109
94
110
95
if (y === false) {
111
- >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34 , 23))
96
+ >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29 , 23))
112
97
113
98
return y;
114
- >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34 , 23))
99
+ >y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29 , 23))
115
100
}
116
101
}
117
102
return true;
0 commit comments