Skip to content

Commit bec0fda

Browse files
authored
Add test for already fixed issue 49778 (#52668)
1 parent 9a14949 commit bec0fda

4 files changed

+97
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//// [relatedViaDiscriminatedTypeNoError2.ts]
2+
type AObjOrBObj = { name: "A" } | { name: "B" };
3+
type AOrBObj = { name: "A" | "B" };
4+
type Generic<T extends AObjOrBObj> = T;
5+
6+
type T = Generic<AOrBObj>;
7+
8+
declare let x: AObjOrBObj;
9+
declare let y: AOrBObj;
10+
x = y;
11+
y = x;
12+
13+
14+
//// [relatedViaDiscriminatedTypeNoError2.js]
15+
"use strict";
16+
x = y;
17+
y = x;
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
=== tests/cases/compiler/relatedViaDiscriminatedTypeNoError2.ts ===
2+
type AObjOrBObj = { name: "A" } | { name: "B" };
3+
>AObjOrBObj : Symbol(AObjOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 0))
4+
>name : Symbol(name, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 19))
5+
>name : Symbol(name, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 35))
6+
7+
type AOrBObj = { name: "A" | "B" };
8+
>AOrBObj : Symbol(AOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 48))
9+
>name : Symbol(name, Decl(relatedViaDiscriminatedTypeNoError2.ts, 1, 16))
10+
11+
type Generic<T extends AObjOrBObj> = T;
12+
>Generic : Symbol(Generic, Decl(relatedViaDiscriminatedTypeNoError2.ts, 1, 35))
13+
>T : Symbol(T, Decl(relatedViaDiscriminatedTypeNoError2.ts, 2, 13))
14+
>AObjOrBObj : Symbol(AObjOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 0))
15+
>T : Symbol(T, Decl(relatedViaDiscriminatedTypeNoError2.ts, 2, 13))
16+
17+
type T = Generic<AOrBObj>;
18+
>T : Symbol(T, Decl(relatedViaDiscriminatedTypeNoError2.ts, 2, 39))
19+
>Generic : Symbol(Generic, Decl(relatedViaDiscriminatedTypeNoError2.ts, 1, 35))
20+
>AOrBObj : Symbol(AOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 48))
21+
22+
declare let x: AObjOrBObj;
23+
>x : Symbol(x, Decl(relatedViaDiscriminatedTypeNoError2.ts, 6, 11))
24+
>AObjOrBObj : Symbol(AObjOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 0))
25+
26+
declare let y: AOrBObj;
27+
>y : Symbol(y, Decl(relatedViaDiscriminatedTypeNoError2.ts, 7, 11))
28+
>AOrBObj : Symbol(AOrBObj, Decl(relatedViaDiscriminatedTypeNoError2.ts, 0, 48))
29+
30+
x = y;
31+
>x : Symbol(x, Decl(relatedViaDiscriminatedTypeNoError2.ts, 6, 11))
32+
>y : Symbol(y, Decl(relatedViaDiscriminatedTypeNoError2.ts, 7, 11))
33+
34+
y = x;
35+
>y : Symbol(y, Decl(relatedViaDiscriminatedTypeNoError2.ts, 7, 11))
36+
>x : Symbol(x, Decl(relatedViaDiscriminatedTypeNoError2.ts, 6, 11))
37+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
=== tests/cases/compiler/relatedViaDiscriminatedTypeNoError2.ts ===
2+
type AObjOrBObj = { name: "A" } | { name: "B" };
3+
>AObjOrBObj : { name: "A"; } | { name: "B"; }
4+
>name : "A"
5+
>name : "B"
6+
7+
type AOrBObj = { name: "A" | "B" };
8+
>AOrBObj : { name: "A" | "B"; }
9+
>name : "A" | "B"
10+
11+
type Generic<T extends AObjOrBObj> = T;
12+
>Generic : T
13+
14+
type T = Generic<AOrBObj>;
15+
>T : AOrBObj
16+
17+
declare let x: AObjOrBObj;
18+
>x : AObjOrBObj
19+
20+
declare let y: AOrBObj;
21+
>y : AOrBObj
22+
23+
x = y;
24+
>x = y : AOrBObj
25+
>x : AObjOrBObj
26+
>y : AOrBObj
27+
28+
y = x;
29+
>y = x : AObjOrBObj
30+
>y : AOrBObj
31+
>x : AObjOrBObj
32+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// @strict: true
2+
type AObjOrBObj = { name: "A" } | { name: "B" };
3+
type AOrBObj = { name: "A" | "B" };
4+
type Generic<T extends AObjOrBObj> = T;
5+
6+
type T = Generic<AOrBObj>;
7+
8+
declare let x: AObjOrBObj;
9+
declare let y: AOrBObj;
10+
x = y;
11+
y = x;

0 commit comments

Comments
 (0)