diff --git a/tests/baselines/reference/covariantCallbacks.errors.txt b/tests/baselines/reference/covariantCallbacks.errors.txt deleted file mode 100644 index 3a1ea25b96e46..0000000000000 --- a/tests/baselines/reference/covariantCallbacks.errors.txt +++ /dev/null @@ -1,105 +0,0 @@ -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts(12,5): error TS2322: Type 'P' is not assignable to type 'P'. - Type 'A' is not assignable to type 'B'. - Property 'b' is missing in type 'A'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts(17,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. - Type 'A' is not assignable to type 'B'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts(30,5): error TS2322: Type 'AList1' is not assignable to type 'BList1'. - Types of property 'forEach' are incompatible. - Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: B) => void) => void'. - Types of parameters 'cb' and 'cb' are incompatible. - Types of parameters 'item' and 'item' are incompatible. - Type 'A' is not assignable to type 'B'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts(43,5): error TS2322: Type 'AList2' is not assignable to type 'BList2'. - Types of property 'forEach' are incompatible. - Type '(cb: (item: A) => boolean) => void' is not assignable to type '(cb: (item: A) => void) => void'. - Types of parameters 'cb' and 'cb' are incompatible. - Type 'void' is not assignable to type 'boolean'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts(56,5): error TS2322: Type 'AList3' is not assignable to type 'BList3'. - Types of property 'forEach' are incompatible. - Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: A, context: any) => void) => void'. - Types of parameters 'cb' and 'cb' are incompatible. - - -==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts (5 errors) ==== - // Test that callback parameters are related covariantly - - interface P { - then(cb: (value: T) => void): void; - }; - - interface A { a: string } - interface B extends A { b: string } - - function f1(a: P, b: P) { - a = b; - b = a; // Error - ~ -!!! error TS2322: Type 'P' is not assignable to type 'P'. -!!! error TS2322: Type 'A' is not assignable to type 'B'. -!!! error TS2322: Property 'b' is missing in type 'A'. - } - - function f2(a: Promise, b: Promise) { - a = b; - b = a; // Error - ~ -!!! error TS2322: Type 'Promise' is not assignable to type 'Promise'. -!!! error TS2322: Type 'A' is not assignable to type 'B'. - } - - interface AList1 { - forEach(cb: (item: A) => void): void; - } - - interface BList1 { - forEach(cb: (item: B) => void): void; - } - - function f11(a: AList1, b: BList1) { - a = b; - b = a; // Error - ~ -!!! error TS2322: Type 'AList1' is not assignable to type 'BList1'. -!!! error TS2322: Types of property 'forEach' are incompatible. -!!! error TS2322: Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: B) => void) => void'. -!!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. -!!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'B'. - } - - interface AList2 { - forEach(cb: (item: A) => boolean): void; - } - - interface BList2 { - forEach(cb: (item: A) => void): void; - } - - function f12(a: AList2, b: BList2) { - a = b; - b = a; // Error - ~ -!!! error TS2322: Type 'AList2' is not assignable to type 'BList2'. -!!! error TS2322: Types of property 'forEach' are incompatible. -!!! error TS2322: Type '(cb: (item: A) => boolean) => void' is not assignable to type '(cb: (item: A) => void) => void'. -!!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. -!!! error TS2322: Type 'void' is not assignable to type 'boolean'. - } - - interface AList3 { - forEach(cb: (item: A) => void): void; - } - - interface BList3 { - forEach(cb: (item: A, context: any) => void): void; - } - - function f13(a: AList3, b: BList3) { - a = b; - b = a; // Error - ~ -!!! error TS2322: Type 'AList3' is not assignable to type 'BList3'. -!!! error TS2322: Types of property 'forEach' are incompatible. -!!! error TS2322: Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: A, context: any) => void) => void'. -!!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. - } \ No newline at end of file diff --git a/tests/baselines/reference/covariantCallbacks.js b/tests/baselines/reference/covariantCallbacks.js deleted file mode 100644 index fb2ecfbc3c18e..0000000000000 --- a/tests/baselines/reference/covariantCallbacks.js +++ /dev/null @@ -1,82 +0,0 @@ -//// [covariantCallbacks.ts] -// Test that callback parameters are related covariantly - -interface P { - then(cb: (value: T) => void): void; -}; - -interface A { a: string } -interface B extends A { b: string } - -function f1(a: P, b: P) { - a = b; - b = a; // Error -} - -function f2(a: Promise, b: Promise) { - a = b; - b = a; // Error -} - -interface AList1 { - forEach(cb: (item: A) => void): void; -} - -interface BList1 { - forEach(cb: (item: B) => void): void; -} - -function f11(a: AList1, b: BList1) { - a = b; - b = a; // Error -} - -interface AList2 { - forEach(cb: (item: A) => boolean): void; -} - -interface BList2 { - forEach(cb: (item: A) => void): void; -} - -function f12(a: AList2, b: BList2) { - a = b; - b = a; // Error -} - -interface AList3 { - forEach(cb: (item: A) => void): void; -} - -interface BList3 { - forEach(cb: (item: A, context: any) => void): void; -} - -function f13(a: AList3, b: BList3) { - a = b; - b = a; // Error -} - -//// [covariantCallbacks.js] -// Test that callback parameters are related covariantly -; -function f1(a, b) { - a = b; - b = a; // Error -} -function f2(a, b) { - a = b; - b = a; // Error -} -function f11(a, b) { - a = b; - b = a; // Error -} -function f12(a, b) { - a = b; - b = a; // Error -} -function f13(a, b) { - a = b; - b = a; // Error -} diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts deleted file mode 100644 index c46f396f414ea..0000000000000 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/covariantCallbacks.ts +++ /dev/null @@ -1,59 +0,0 @@ -// @target: es2015 - -// Test that callback parameters are related covariantly - -interface P { - then(cb: (value: T) => void): void; -}; - -interface A { a: string } -interface B extends A { b: string } - -function f1(a: P, b: P) { - a = b; - b = a; // Error -} - -function f2(a: Promise, b: Promise) { - a = b; - b = a; // Error -} - -interface AList1 { - forEach(cb: (item: A) => void): void; -} - -interface BList1 { - forEach(cb: (item: B) => void): void; -} - -function f11(a: AList1, b: BList1) { - a = b; - b = a; // Error -} - -interface AList2 { - forEach(cb: (item: A) => boolean): void; -} - -interface BList2 { - forEach(cb: (item: A) => void): void; -} - -function f12(a: AList2, b: BList2) { - a = b; - b = a; // Error -} - -interface AList3 { - forEach(cb: (item: A) => void): void; -} - -interface BList3 { - forEach(cb: (item: A, context: any) => void): void; -} - -function f13(a: AList3, b: BList3) { - a = b; - b = a; // Error -} \ No newline at end of file