diff --git a/tests/baselines/reference/conditionalTypes2.errors.txt b/tests/baselines/reference/conditionalTypes2.errors.txt index 8a712d929c49a..a41522102682f 100644 --- a/tests/baselines/reference/conditionalTypes2.errors.txt +++ b/tests/baselines/reference/conditionalTypes2.errors.txt @@ -1,13 +1,15 @@ -tests/cases/conformance/types/conditional/conditionalTypes2.ts(19,5): error TS2322: Type 'Covariant' is not assignable to type 'Covariant'. +tests/cases/conformance/types/conditional/conditionalTypes2.ts(15,5): error TS2322: Type 'Covariant' is not assignable to type 'Covariant'. Type 'A' is not assignable to type 'B'. - Property 'b' is missing in type 'A'. -tests/cases/conformance/types/conditional/conditionalTypes2.ts(23,5): error TS2322: Type 'Contravariant' is not assignable to type 'Contravariant'. +tests/cases/conformance/types/conditional/conditionalTypes2.ts(19,5): error TS2322: Type 'Contravariant' is not assignable to type 'Contravariant'. Type 'A' is not assignable to type 'B'. -tests/cases/conformance/types/conditional/conditionalTypes2.ts(28,5): error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. - Type 'A' is not assignable to type 'B'. -tests/cases/conformance/types/conditional/conditionalTypes2.ts(29,5): error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. +tests/cases/conformance/types/conditional/conditionalTypes2.ts(24,5): error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. + Types of property 'foo' are incompatible. + Type 'B extends string ? keyof B : B' is not assignable to type 'A extends string ? keyof A : A'. + Type 'keyof B' is not assignable to type 'keyof A'. +tests/cases/conformance/types/conditional/conditionalTypes2.ts(25,5): error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. Types of property 'foo' are incompatible. - Type 'A' is not assignable to type 'B'. + Type 'A extends string ? keyof A : A' is not assignable to type 'B extends string ? keyof B : B'. + Type 'A' is not assignable to type 'B'. ==== tests/cases/conformance/types/conditional/conditionalTypes2.ts (4 errors) ==== @@ -23,20 +25,15 @@ tests/cases/conformance/types/conditional/conditionalTypes2.ts(29,5): error TS23 foo: T extends string ? keyof T : T; } - interface A { a: string } - interface B extends A { b: string } - - - function f1(a: Covariant, b: Covariant) { + function f1(a: Covariant, b: Covariant) { a = b; b = a; // Error ~ !!! error TS2322: Type 'Covariant' is not assignable to type 'Covariant'. !!! error TS2322: Type 'A' is not assignable to type 'B'. -!!! error TS2322: Property 'b' is missing in type 'A'. } - function f2(a: Contravariant, b: Contravariant) { + function f2(a: Contravariant, b: Contravariant) { a = b; // Error ~ !!! error TS2322: Type 'Contravariant' is not assignable to type 'Contravariant'. @@ -44,16 +41,19 @@ tests/cases/conformance/types/conditional/conditionalTypes2.ts(29,5): error TS23 b = a; } - function f3(a: Invariant, b: Invariant) { + function f3(a: Invariant, b: Invariant) { a = b; // Error ~ !!! error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Types of property 'foo' are incompatible. +!!! error TS2322: Type 'B extends string ? keyof B : B' is not assignable to type 'A extends string ? keyof A : A'. +!!! error TS2322: Type 'keyof B' is not assignable to type 'keyof A'. b = a; // Error ~ !!! error TS2322: Type 'Invariant' is not assignable to type 'Invariant'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Type 'A extends string ? keyof A : A' is not assignable to type 'B extends string ? keyof B : B'. +!!! error TS2322: Type 'A' is not assignable to type 'B'. } // Repros from #22860 diff --git a/tests/baselines/reference/conditionalTypes2.js b/tests/baselines/reference/conditionalTypes2.js index ecfec329439f6..5193bae3345d3 100644 --- a/tests/baselines/reference/conditionalTypes2.js +++ b/tests/baselines/reference/conditionalTypes2.js @@ -11,21 +11,17 @@ interface Invariant { foo: T extends string ? keyof T : T; } -interface A { a: string } -interface B extends A { b: string } - - -function f1(a: Covariant, b: Covariant) { +function f1(a: Covariant, b: Covariant) { a = b; b = a; // Error } -function f2(a: Contravariant, b: Contravariant) { +function f2(a: Contravariant, b: Contravariant) { a = b; // Error b = a; } -function f3(a: Invariant, b: Invariant) { +function f3(a: Invariant, b: Invariant) { a = b; // Error b = a; // Error } @@ -109,15 +105,9 @@ interface Contravariant { interface Invariant { foo: T extends string ? keyof T : T; } -interface A { - a: string; -} -interface B extends A { - b: string; -} -declare function f1(a: Covariant, b: Covariant): void; -declare function f2(a: Contravariant, b: Contravariant): void; -declare function f3(a: Invariant, b: Invariant): void; +declare function f1(a: Covariant, b: Covariant): void; +declare function f2(a: Contravariant, b: Contravariant): void; +declare function f3(a: Invariant, b: Invariant): void; declare class Opt { toVector(): Vector; } diff --git a/tests/baselines/reference/conditionalTypes2.symbols b/tests/baselines/reference/conditionalTypes2.symbols index 96f7e681255e6..4d9cd27238be5 100644 --- a/tests/baselines/reference/conditionalTypes2.symbols +++ b/tests/baselines/reference/conditionalTypes2.symbols @@ -30,80 +30,79 @@ interface Invariant { >T : Symbol(T, Decl(conditionalTypes2.ts, 8, 20)) } -interface A { a: string } ->A : Symbol(A, Decl(conditionalTypes2.ts, 10, 1)) ->a : Symbol(A.a, Decl(conditionalTypes2.ts, 12, 13)) - -interface B extends A { b: string } ->B : Symbol(B, Decl(conditionalTypes2.ts, 12, 25)) ->A : Symbol(A, Decl(conditionalTypes2.ts, 10, 1)) ->b : Symbol(B.b, Decl(conditionalTypes2.ts, 13, 23)) - - -function f1(a: Covariant, b: Covariant) { ->f1 : Symbol(f1, Decl(conditionalTypes2.ts, 13, 35)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 16, 12)) +function f1(a: Covariant, b: Covariant) { +>f1 : Symbol(f1, Decl(conditionalTypes2.ts, 10, 1)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 12, 12)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 12, 14)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 12, 12)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 12, 28)) >Covariant : Symbol(Covariant, Decl(conditionalTypes2.ts, 0, 0)) ->A : Symbol(A, Decl(conditionalTypes2.ts, 10, 1)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 16, 28)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 12, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 12, 44)) >Covariant : Symbol(Covariant, Decl(conditionalTypes2.ts, 0, 0)) ->B : Symbol(B, Decl(conditionalTypes2.ts, 12, 25)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 12, 14)) a = b; ->a : Symbol(a, Decl(conditionalTypes2.ts, 16, 12)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 16, 28)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 12, 28)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 12, 44)) b = a; // Error ->b : Symbol(b, Decl(conditionalTypes2.ts, 16, 28)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 16, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 12, 44)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 12, 28)) } -function f2(a: Contravariant, b: Contravariant) { ->f2 : Symbol(f2, Decl(conditionalTypes2.ts, 19, 1)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 21, 12)) +function f2(a: Contravariant, b: Contravariant) { +>f2 : Symbol(f2, Decl(conditionalTypes2.ts, 15, 1)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 17, 12)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 17, 14)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 17, 12)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 17, 28)) >Contravariant : Symbol(Contravariant, Decl(conditionalTypes2.ts, 2, 1)) ->A : Symbol(A, Decl(conditionalTypes2.ts, 10, 1)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 21, 32)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 17, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 17, 48)) >Contravariant : Symbol(Contravariant, Decl(conditionalTypes2.ts, 2, 1)) ->B : Symbol(B, Decl(conditionalTypes2.ts, 12, 25)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 17, 14)) a = b; // Error ->a : Symbol(a, Decl(conditionalTypes2.ts, 21, 12)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 21, 32)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 17, 28)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 17, 48)) b = a; ->b : Symbol(b, Decl(conditionalTypes2.ts, 21, 32)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 21, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 17, 48)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 17, 28)) } -function f3(a: Invariant, b: Invariant) { ->f3 : Symbol(f3, Decl(conditionalTypes2.ts, 24, 1)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 26, 12)) +function f3(a: Invariant, b: Invariant) { +>f3 : Symbol(f3, Decl(conditionalTypes2.ts, 20, 1)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 22, 12)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 22, 14)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 22, 12)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 22, 28)) >Invariant : Symbol(Invariant, Decl(conditionalTypes2.ts, 6, 1)) ->A : Symbol(A, Decl(conditionalTypes2.ts, 10, 1)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 26, 28)) +>A : Symbol(A, Decl(conditionalTypes2.ts, 22, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 22, 44)) >Invariant : Symbol(Invariant, Decl(conditionalTypes2.ts, 6, 1)) ->B : Symbol(B, Decl(conditionalTypes2.ts, 12, 25)) +>B : Symbol(B, Decl(conditionalTypes2.ts, 22, 14)) a = b; // Error ->a : Symbol(a, Decl(conditionalTypes2.ts, 26, 12)) ->b : Symbol(b, Decl(conditionalTypes2.ts, 26, 28)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 22, 28)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 22, 44)) b = a; // Error ->b : Symbol(b, Decl(conditionalTypes2.ts, 26, 28)) ->a : Symbol(a, Decl(conditionalTypes2.ts, 26, 12)) +>b : Symbol(b, Decl(conditionalTypes2.ts, 22, 44)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 22, 28)) } // Repros from #22860 class Opt { ->Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 29, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 33, 10)) +>Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 25, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 29, 10)) toVector(): Vector { ->toVector : Symbol(Opt.toVector, Decl(conditionalTypes2.ts, 33, 14)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 33, 10)) +>toVector : Symbol(Opt.toVector, Decl(conditionalTypes2.ts, 29, 14)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 29, 10)) return undefined; >undefined : Symbol(undefined) @@ -111,67 +110,67 @@ class Opt { } interface Seq { ->Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 37, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 39, 14)) +>Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 33, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 35, 14)) tail(): Opt>; ->tail : Symbol(Seq.tail, Decl(conditionalTypes2.ts, 39, 18)) ->Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 29, 1)) ->Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 37, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 39, 14)) +>tail : Symbol(Seq.tail, Decl(conditionalTypes2.ts, 35, 18)) +>Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 25, 1)) +>Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 33, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 35, 14)) } class Vector implements Seq { ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 37, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>Seq : Symbol(Seq, Decl(conditionalTypes2.ts, 33, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) tail(): Opt> { ->tail : Symbol(Vector.tail, Decl(conditionalTypes2.ts, 43, 35)) ->Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 29, 1)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) +>tail : Symbol(Vector.tail, Decl(conditionalTypes2.ts, 39, 35)) +>Opt : Symbol(Opt, Decl(conditionalTypes2.ts, 25, 1)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) return undefined; >undefined : Symbol(undefined) } partition2(predicate:(v:T)=>v is U): [Vector,Vector>]; ->partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 46, 5), Decl(conditionalTypes2.ts, 47, 88), Decl(conditionalTypes2.ts, 48, 64)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 47, 15)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 47, 28)) ->v : Symbol(v, Decl(conditionalTypes2.ts, 47, 39)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->v : Symbol(v, Decl(conditionalTypes2.ts, 47, 39)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 47, 15)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 47, 15)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) +>partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 42, 5), Decl(conditionalTypes2.ts, 43, 88), Decl(conditionalTypes2.ts, 44, 64)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 43, 15)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 43, 28)) +>v : Symbol(v, Decl(conditionalTypes2.ts, 43, 39)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>v : Symbol(v, Decl(conditionalTypes2.ts, 43, 39)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 43, 15)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 43, 15)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) >Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 47, 15)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 43, 15)) partition2(predicate:(x:T)=>boolean): [Vector,Vector]; ->partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 46, 5), Decl(conditionalTypes2.ts, 47, 88), Decl(conditionalTypes2.ts, 48, 64)) ->predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 48, 15)) ->x : Symbol(x, Decl(conditionalTypes2.ts, 48, 26)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) +>partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 42, 5), Decl(conditionalTypes2.ts, 43, 88), Decl(conditionalTypes2.ts, 44, 64)) +>predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 44, 15)) +>x : Symbol(x, Decl(conditionalTypes2.ts, 44, 26)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) partition2(predicate:(v:T)=>boolean): [Vector,Vector] { ->partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 46, 5), Decl(conditionalTypes2.ts, 47, 88), Decl(conditionalTypes2.ts, 48, 64)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 49, 15)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 49, 28)) ->v : Symbol(v, Decl(conditionalTypes2.ts, 49, 39)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 43, 13)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) ->U : Symbol(U, Decl(conditionalTypes2.ts, 49, 15)) ->Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 41, 1)) +>partition2 : Symbol(Vector.partition2, Decl(conditionalTypes2.ts, 42, 5), Decl(conditionalTypes2.ts, 43, 88), Decl(conditionalTypes2.ts, 44, 64)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 45, 15)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>predicate : Symbol(predicate, Decl(conditionalTypes2.ts, 45, 28)) +>v : Symbol(v, Decl(conditionalTypes2.ts, 45, 39)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 39, 13)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 45, 15)) +>Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 37, 1)) return undefined; >undefined : Symbol(undefined) @@ -179,30 +178,30 @@ class Vector implements Seq { } interface A1 { ->A1 : Symbol(A1, Decl(conditionalTypes2.ts, 52, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) +>A1 : Symbol(A1, Decl(conditionalTypes2.ts, 48, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 50, 13)) bat: B1>; ->bat : Symbol(A1.bat, Decl(conditionalTypes2.ts, 54, 17)) ->B1 : Symbol(B1, Decl(conditionalTypes2.ts, 56, 1)) ->A1 : Symbol(A1, Decl(conditionalTypes2.ts, 52, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) +>bat : Symbol(A1.bat, Decl(conditionalTypes2.ts, 50, 17)) +>B1 : Symbol(B1, Decl(conditionalTypes2.ts, 52, 1)) +>A1 : Symbol(A1, Decl(conditionalTypes2.ts, 48, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 50, 13)) } interface B1 extends A1 { ->B1 : Symbol(B1, Decl(conditionalTypes2.ts, 56, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 58, 13)) ->A1 : Symbol(A1, Decl(conditionalTypes2.ts, 52, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 58, 13)) +>B1 : Symbol(B1, Decl(conditionalTypes2.ts, 52, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) +>A1 : Symbol(A1, Decl(conditionalTypes2.ts, 48, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) bat: B1>; ->bat : Symbol(B1.bat, Decl(conditionalTypes2.ts, 58, 31)) ->B1 : Symbol(B1, Decl(conditionalTypes2.ts, 56, 1)) ->B1 : Symbol(B1, Decl(conditionalTypes2.ts, 56, 1)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 58, 13)) +>bat : Symbol(B1.bat, Decl(conditionalTypes2.ts, 54, 31)) +>B1 : Symbol(B1, Decl(conditionalTypes2.ts, 52, 1)) +>B1 : Symbol(B1, Decl(conditionalTypes2.ts, 52, 1)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) boom: T extends any ? true : true ->boom : Symbol(B1.boom, Decl(conditionalTypes2.ts, 59, 19)) ->T : Symbol(T, Decl(conditionalTypes2.ts, 58, 13)) +>boom : Symbol(B1.boom, Decl(conditionalTypes2.ts, 55, 19)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 54, 13)) } diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index a31a63524756b..e3dad1fc280e5 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -30,18 +30,11 @@ interface Invariant { >T : T } -interface A { a: string } +function f1(a: Covariant, b: Covariant) { +>f1 : (a: Covariant, b: Covariant) => void >A : A ->a : string - -interface B extends A { b: string } >B : B >A : A ->b : string - - -function f1(a: Covariant, b: Covariant) { ->f1 : (a: Covariant, b: Covariant) => void >a : Covariant >Covariant : Covariant >A : A @@ -60,8 +53,11 @@ function f1(a: Covariant, b: Covariant) { >a : Covariant } -function f2(a: Contravariant, b: Contravariant) { ->f2 : (a: Contravariant, b: Contravariant) => void +function f2(a: Contravariant, b: Contravariant) { +>f2 : (a: Contravariant, b: Contravariant) => void +>A : A +>B : B +>A : A >a : Contravariant >Contravariant : Contravariant >A : A @@ -80,8 +76,11 @@ function f2(a: Contravariant, b: Contravariant) { >a : Contravariant } -function f3(a: Invariant, b: Invariant) { ->f3 : (a: Invariant, b: Invariant) => void +function f3(a: Invariant, b: Invariant) { +>f3 : (a: Invariant, b: Invariant) => void +>A : A +>B : B +>A : A >a : Invariant >Invariant : Invariant >A : A