Skip to content

Commit 776ddb4

Browse files
committed
Update baselines
1 parent df885ab commit 776ddb4

4 files changed

+141
-0
lines changed

tests/baselines/reference/discriminantsAndTypePredicates.errors.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,4 +353,25 @@ tests/cases/compiler/discriminantsAndTypePredicates.ts(307,11): error TS2339: Pr
353353
!!! error TS2339: Property 'a' does not exist on type 'unknown'.
354354
}
355355
}
356+
357+
interface Success {
358+
success: true;
359+
response: object;
360+
}
361+
362+
interface Error {
363+
success: false;
364+
error: object;
365+
}
366+
367+
function request(): Success | Error {
368+
return null as any;
369+
}
370+
371+
// This does not work:
372+
let r
373+
r = request();
374+
if (r.success) {
375+
r.response;
376+
}
356377

tests/baselines/reference/discriminantsAndTypePredicates.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,27 @@ function looper(getter: () => unknown) {
308308
x.a; // error
309309
}
310310
}
311+
312+
interface Success {
313+
success: true;
314+
response: object;
315+
}
316+
317+
interface Error {
318+
success: false;
319+
error: object;
320+
}
321+
322+
function request(): Success | Error {
323+
return null as any;
324+
}
325+
326+
// This does not work:
327+
let r
328+
r = request();
329+
if (r.success) {
330+
r.response;
331+
}
311332

312333

313334
//// [discriminantsAndTypePredicates.js]
@@ -559,3 +580,12 @@ function looper(getter) {
559580
x.a; // error
560581
}
561582
}
583+
function request() {
584+
return null;
585+
}
586+
// This does not work:
587+
var r;
588+
r = request();
589+
if (r.success) {
590+
r.response;
591+
}

tests/baselines/reference/discriminantsAndTypePredicates.symbols

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -908,3 +908,46 @@ function looper(getter: () => unknown) {
908908
}
909909
}
910910

911+
interface Success {
912+
>Success : Symbol(Success, Decl(discriminantsAndTypePredicates.ts, 308, 1))
913+
914+
success: true;
915+
>success : Symbol(Success.success, Decl(discriminantsAndTypePredicates.ts, 310, 19))
916+
917+
response: object;
918+
>response : Symbol(Success.response, Decl(discriminantsAndTypePredicates.ts, 311, 18))
919+
}
920+
921+
interface Error {
922+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(discriminantsAndTypePredicates.ts, 313, 1))
923+
924+
success: false;
925+
>success : Symbol(Error.success, Decl(discriminantsAndTypePredicates.ts, 315, 17))
926+
927+
error: object;
928+
>error : Symbol(Error.error, Decl(discriminantsAndTypePredicates.ts, 316, 19))
929+
}
930+
931+
function request(): Success | Error {
932+
>request : Symbol(request, Decl(discriminantsAndTypePredicates.ts, 318, 1))
933+
>Success : Symbol(Success, Decl(discriminantsAndTypePredicates.ts, 308, 1))
934+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(discriminantsAndTypePredicates.ts, 313, 1))
935+
936+
return null as any;
937+
}
938+
939+
// This does not work:
940+
let r
941+
>r : Symbol(r, Decl(discriminantsAndTypePredicates.ts, 325, 3))
942+
943+
r = request();
944+
>r : Symbol(r, Decl(discriminantsAndTypePredicates.ts, 325, 3))
945+
>request : Symbol(request, Decl(discriminantsAndTypePredicates.ts, 318, 1))
946+
947+
if (r.success) {
948+
>r : Symbol(r, Decl(discriminantsAndTypePredicates.ts, 325, 3))
949+
950+
r.response;
951+
>r : Symbol(r, Decl(discriminantsAndTypePredicates.ts, 325, 3))
952+
}
953+

tests/baselines/reference/discriminantsAndTypePredicates.types

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,3 +1036,50 @@ function looper(getter: () => unknown) {
10361036
}
10371037
}
10381038

1039+
interface Success {
1040+
success: true;
1041+
>success : true
1042+
>true : true
1043+
1044+
response: object;
1045+
>response : object
1046+
}
1047+
1048+
interface Error {
1049+
success: false;
1050+
>success : false
1051+
>false : false
1052+
1053+
error: object;
1054+
>error : object
1055+
}
1056+
1057+
function request(): Success | Error {
1058+
>request : () => Success | Error
1059+
1060+
return null as any;
1061+
>null as any : any
1062+
>null : null
1063+
}
1064+
1065+
// This does not work:
1066+
let r
1067+
>r : any
1068+
1069+
r = request();
1070+
>r = request() : Success | Error
1071+
>r : any
1072+
>request() : Success | Error
1073+
>request : () => Success | Error
1074+
1075+
if (r.success) {
1076+
>r.success : any
1077+
>r : any
1078+
>success : any
1079+
1080+
r.response;
1081+
>r.response : any
1082+
>r : any
1083+
>response : any
1084+
}
1085+

0 commit comments

Comments
 (0)