2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts (2 errors) ====
|
|
|
|
function map<T, U>(xs: T[], f: (x: T) => U) {
|
|
|
|
var ys: U[] = [];
|
|
|
|
xs.forEach(x => ys.push(f(x)));
|
|
|
|
return ys;
|
|
|
|
}
|
|
|
|
|
|
|
|
var r0 = map([1, ""], (x) => x.toString());
|
|
|
|
var r5 = map<any, any>([1, ""], (x) => x.toString());
|
|
|
|
var r6 = map<Object, Object>([1, ""], (x) => x.toString());
|
|
|
|
var r7 = map<number, string>([1, ""], (x) => x.toString()); // error
|
2014-07-25 02:00:03 +02:00
|
|
|
~~~~~~~
|
|
|
|
!!! Argument type '{}[]' is not assignable to parameter type 'number[]'.
|
|
|
|
!!! Type '{}' is not assignable to type 'number'.
|
2014-07-13 01:04:16 +02:00
|
|
|
var r7b = map<number>([1, ""], (x) => x.toString()); // error
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
!!! Supplied parameters do not match any signature of call target.
|
|
|
|
var r8 = map<any, string>([1, ""], (x) => x.toString());
|