Skip to content

Commit ef4f419

Browse files
Revert "Use NonNullable<T> in more scenarios (#49330)"
This reverts commit 3cdb808.
1 parent cb1bc61 commit ef4f419

14 files changed

+110
-395
lines changed

src/compiler/checker.ts

Lines changed: 91 additions & 70 deletions
Large diffs are not rendered by default.

tests/baselines/reference/discriminatedUnionJsxElement.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ function Menu<MenuItemVariant extends ListItemVariant = ListItemVariant.OneLine>
1414
>data : IData<MenuItemVariant>
1515

1616
const listItemVariant = data.menuItemsVariant ?? ListItemVariant.OneLine;
17-
>listItemVariant : ListItemVariant.OneLine | MenuItemVariant
18-
>data.menuItemsVariant ?? ListItemVariant.OneLine : ListItemVariant.OneLine | MenuItemVariant
17+
>listItemVariant : ListItemVariant.OneLine | NonNullable<MenuItemVariant>
18+
>data.menuItemsVariant ?? ListItemVariant.OneLine : ListItemVariant.OneLine | NonNullable<MenuItemVariant>
1919
>data.menuItemsVariant : MenuItemVariant | undefined
2020
>data : IData<MenuItemVariant>
2121
>menuItemsVariant : MenuItemVariant | undefined

tests/baselines/reference/mappedTypes4.types

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ function boxify<T>(obj: T): Boxified<T> {
3030
>obj : (T & null) | (T & object)
3131

3232
result[k] = { value: obj[k] };
33-
>result[k] = { value: obj[k] } : { value: (T & object)[Extract<keyof T, string>]; }
33+
>result[k] = { value: obj[k] } : { value: NonNullable<T & object>[Extract<keyof T, string>]; }
3434
>result[k] : Boxified<T>[Extract<keyof T, string>]
3535
>result : Boxified<T>
3636
>k : Extract<keyof T, string>
37-
>{ value: obj[k] } : { value: (T & object)[Extract<keyof T, string>]; }
38-
>value : (T & object)[Extract<keyof T, string>]
39-
>obj[k] : (T & object)[Extract<keyof T, string>]
40-
>obj : T & object
37+
>{ value: obj[k] } : { value: NonNullable<T & object>[Extract<keyof T, string>]; }
38+
>value : NonNullable<T & object>[Extract<keyof T, string>]
39+
>obj[k] : NonNullable<T & object>[Extract<keyof T, string>]
40+
>obj : NonNullable<T & object>
4141
>k : Extract<keyof T, string>
4242
}
4343
return result;

tests/baselines/reference/neverType.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ declare function infiniteLoop1(): void;
180180
declare function infiniteLoop2(): never;
181181
declare function move1(direction: "up" | "down"): 1 | -1;
182182
declare function move2(direction: "up" | "down"): 1 | -1;
183-
declare function check<T>(x: T | undefined): NonNullable<T>;
183+
declare function check<T>(x: T | undefined): T;
184184
declare class C {
185185
void1(): void;
186186
void2(): void;

tests/baselines/reference/neverType.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ function move2(direction: "up" | "down") {
112112
}
113113

114114
function check<T>(x: T | undefined) {
115-
>check : <T>(x: T | undefined) => NonNullable<T>
115+
>check : <T>(x: T | undefined) => T
116116
>x : T | undefined
117117

118118
return x || error("Undefined value");
119-
>x || error("Undefined value") : NonNullable<T>
119+
>x || error("Undefined value") : T
120120
>x : T | undefined
121121
>error("Undefined value") : never
122122
>error : (message: string) => never

tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function fn<T extends string | undefined, U extends string>(one: T, two: U) {
2525
foo(two!);
2626
>foo(two!) : void
2727
>foo : (p: string) => void
28-
>two! : U
28+
>two! : NonNullable<U>
2929
>two : U
3030

3131
foo(three!); // this line is the important one

tests/baselines/reference/nonNullableTypes1.js

Lines changed: 0 additions & 85 deletions
This file was deleted.

tests/baselines/reference/nonNullableTypes1.symbols

Lines changed: 0 additions & 89 deletions
This file was deleted.

tests/baselines/reference/nonNullableTypes1.types

Lines changed: 0 additions & 95 deletions
This file was deleted.

tests/baselines/reference/nullishCoalescingOperator2.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ const aa6 = a6 ?? 'whatever'
7575
>'whatever' : "whatever"
7676

7777
const aa7 = a7 ?? 'whatever'
78-
>aa7 : {}
79-
>a7 ?? 'whatever' : {}
78+
>aa7 : unknown
79+
>a7 ?? 'whatever' : unknown
8080
>a7 : unknown
8181
>'whatever' : "whatever"
8282

tests/baselines/reference/nullishCoalescingOperator_es2020.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ const aa6 = a6 ?? 'whatever'
7575
>'whatever' : "whatever"
7676

7777
const aa7 = a7 ?? 'whatever'
78-
>aa7 : {}
79-
>a7 ?? 'whatever' : {}
78+
>aa7 : unknown
79+
>a7 ?? 'whatever' : unknown
8080
>a7 : unknown
8181
>'whatever' : "whatever"
8282

tests/baselines/reference/privateIdentifierChain.1.types

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ class A {
2828

2929
this?.getA().#b; // Error
3030
>this?.getA().#b : A | undefined
31-
>this?.getA() : A
32-
>this?.getA : () => A
31+
>this?.getA() : A | undefined
32+
>this?.getA : (() => A) | undefined
3333
>this : this
34-
>getA : () => A
34+
>getA : (() => A) | undefined
3535
}
3636
}
3737

tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function JustConditional<T>(): ConditionalType<T> {
1515
>JustConditional : <T>() => ConditionalType<T>
1616

1717
return ConditionalOrUndefined<T>()!; // shouldn't error
18-
>ConditionalOrUndefined<T>()! : ConditionalType<T>
18+
>ConditionalOrUndefined<T>()! : NonNullable<ConditionalType<T>>
1919
>ConditionalOrUndefined<T>() : ConditionalType<T> | undefined
2020
>ConditionalOrUndefined : <T>() => ConditionalType<T> | undefined
2121
}

0 commit comments

Comments
 (0)