Skip to content

Commit 4e9e62d

Browse files
committed
Add test
1 parent dc28aaa commit 4e9e62d

File tree

4 files changed

+102
-0
lines changed

4 files changed

+102
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//// [noStrictGenericChecks.ts]
2+
type A = <T, U>(x: T, y: U) => [T, U];
3+
type B = <S>(x: S, y: S) => [S, S];
4+
5+
function f(a: A, b: B) {
6+
a = b; // Error disabled here
7+
b = a; // Ok
8+
}
9+
10+
11+
//// [noStrictGenericChecks.js]
12+
function f(a, b) {
13+
a = b; // Error disabled here
14+
b = a; // Ok
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
=== tests/cases/compiler/noStrictGenericChecks.ts ===
2+
type A = <T, U>(x: T, y: U) => [T, U];
3+
>A : Symbol(A, Decl(noStrictGenericChecks.ts, 0, 0))
4+
>T : Symbol(T, Decl(noStrictGenericChecks.ts, 0, 10))
5+
>U : Symbol(U, Decl(noStrictGenericChecks.ts, 0, 12))
6+
>x : Symbol(x, Decl(noStrictGenericChecks.ts, 0, 16))
7+
>T : Symbol(T, Decl(noStrictGenericChecks.ts, 0, 10))
8+
>y : Symbol(y, Decl(noStrictGenericChecks.ts, 0, 21))
9+
>U : Symbol(U, Decl(noStrictGenericChecks.ts, 0, 12))
10+
>T : Symbol(T, Decl(noStrictGenericChecks.ts, 0, 10))
11+
>U : Symbol(U, Decl(noStrictGenericChecks.ts, 0, 12))
12+
13+
type B = <S>(x: S, y: S) => [S, S];
14+
>B : Symbol(B, Decl(noStrictGenericChecks.ts, 0, 38))
15+
>S : Symbol(S, Decl(noStrictGenericChecks.ts, 1, 10))
16+
>x : Symbol(x, Decl(noStrictGenericChecks.ts, 1, 13))
17+
>S : Symbol(S, Decl(noStrictGenericChecks.ts, 1, 10))
18+
>y : Symbol(y, Decl(noStrictGenericChecks.ts, 1, 18))
19+
>S : Symbol(S, Decl(noStrictGenericChecks.ts, 1, 10))
20+
>S : Symbol(S, Decl(noStrictGenericChecks.ts, 1, 10))
21+
>S : Symbol(S, Decl(noStrictGenericChecks.ts, 1, 10))
22+
23+
function f(a: A, b: B) {
24+
>f : Symbol(f, Decl(noStrictGenericChecks.ts, 1, 35))
25+
>a : Symbol(a, Decl(noStrictGenericChecks.ts, 3, 11))
26+
>A : Symbol(A, Decl(noStrictGenericChecks.ts, 0, 0))
27+
>b : Symbol(b, Decl(noStrictGenericChecks.ts, 3, 16))
28+
>B : Symbol(B, Decl(noStrictGenericChecks.ts, 0, 38))
29+
30+
a = b; // Error disabled here
31+
>a : Symbol(a, Decl(noStrictGenericChecks.ts, 3, 11))
32+
>b : Symbol(b, Decl(noStrictGenericChecks.ts, 3, 16))
33+
34+
b = a; // Ok
35+
>b : Symbol(b, Decl(noStrictGenericChecks.ts, 3, 16))
36+
>a : Symbol(a, Decl(noStrictGenericChecks.ts, 3, 11))
37+
}
38+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
=== tests/cases/compiler/noStrictGenericChecks.ts ===
2+
type A = <T, U>(x: T, y: U) => [T, U];
3+
>A : A
4+
>T : T
5+
>U : U
6+
>x : T
7+
>T : T
8+
>y : U
9+
>U : U
10+
>T : T
11+
>U : U
12+
13+
type B = <S>(x: S, y: S) => [S, S];
14+
>B : B
15+
>S : S
16+
>x : S
17+
>S : S
18+
>y : S
19+
>S : S
20+
>S : S
21+
>S : S
22+
23+
function f(a: A, b: B) {
24+
>f : (a: A, b: B) => void
25+
>a : A
26+
>A : A
27+
>b : B
28+
>B : B
29+
30+
a = b; // Error disabled here
31+
>a = b : B
32+
>a : A
33+
>b : B
34+
35+
b = a; // Ok
36+
>b = a : A
37+
>b : B
38+
>a : A
39+
}
40+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// @noStrictGenericChecks: true
2+
3+
type A = <T, U>(x: T, y: U) => [T, U];
4+
type B = <S>(x: S, y: S) => [S, S];
5+
6+
function f(a: A, b: B) {
7+
a = b; // Error disabled here
8+
b = a; // Ok
9+
}

0 commit comments

Comments
 (0)