tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(10,30): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'.
  Type 'number | string' is not assignable to type 'number'.
    Type 'string' is not assignable to type 'number'.
tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(11,11): error TS2346: Supplied parameters do not match any signature of call target.


==== 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
                                 ~~~~~~~
!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'.
!!! error TS2345:   Type 'number | string' is not assignable to type 'number'.
!!! error TS2345:     Type 'string' is not assignable to type 'number'.
    var r7b = map<number>([1, ""], (x) => x.toString()); // error
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    var r8 = map<any, string>([1, ""], (x) => x.toString());