==== tests/cases/compiler/typeArgumentInferenceErrors.ts (8 errors) ====
    // Generic call with multiple type parameters and only one used in parameter type annotation
    function someGenerics1<T, U>(n: T, m: number) { }
    someGenerics1<string, number>(3, 4); // Error
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(3,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Could not apply type 'string' to argument 1 which is of type 'number'.
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(3,1): error TS2087: Could not select overload for 'call' expression.
    
    // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type
    function someGenerics4<T, U>(n: T, f: (x: U) => void) { }
    someGenerics4<string, number>('', (x: string) => ''); // Error
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(7,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Call signatures of types '(x: string) => string' and '(x: number) => void' are incompatible.
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(7,1): error TS2087: Could not select overload for 'call' expression.
    
    // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type
    function someGenerics5<U, T>(n: T, f: (x: U) => void) { }
    someGenerics5<number, string>('', (x: string) => ''); // Error
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(11,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Call signatures of types '(x: string) => string' and '(x: number) => void' are incompatible.
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(11,1): error TS2087: Could not select overload for 'call' expression.
    
    // Generic call with multiple arguments of function types that each have parameters of the same generic type
    function someGenerics6<A>(a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { }
    someGenerics6<number>((n: number) => n, (n: string) => n, (n: number) => n); // Error
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(15,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Call signatures of types '(n: string) => string' and '(b: number) => number' are incompatible.
    ~~~~~~~~~~~~~
!!! typeArgumentInferenceErrors.ts(15,1): error TS2087: Could not select overload for 'call' expression.
    