24 lines
No EOL
1.3 KiB
Text
24 lines
No EOL
1.3 KiB
Text
tests/cases/compiler/typeParameterArgumentEquivalence.ts(4,5): error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'.
|
|
Types of parameters 'item' and 'item' are incompatible.
|
|
Type 'T' is not assignable to type 'number'.
|
|
tests/cases/compiler/typeParameterArgumentEquivalence.ts(5,5): error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'.
|
|
Types of parameters 'item' and 'item' are incompatible.
|
|
Type 'number' is not assignable to type 'T'.
|
|
|
|
|
|
==== tests/cases/compiler/typeParameterArgumentEquivalence.ts (2 errors) ====
|
|
function foo<T>() {
|
|
var x: (item: number) => boolean;
|
|
var y: (item: T) => boolean;
|
|
x = y; // Should be an error
|
|
~
|
|
!!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'.
|
|
!!! error TS2322: Types of parameters 'item' and 'item' are incompatible.
|
|
!!! error TS2322: Type 'T' is not assignable to type 'number'.
|
|
y = x; // Shound be an error
|
|
~
|
|
!!! error TS2322: Type '(item: number) => boolean' is not assignable to type '(item: T) => boolean'.
|
|
!!! error TS2322: Types of parameters 'item' and 'item' are incompatible.
|
|
!!! error TS2322: Type 'number' is not assignable to type 'T'.
|
|
}
|
|
|