tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(3,10): error TS2346: Supplied parameters do not match any signature of call target.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(5,10): error TS2347: Untyped function calls may not accept type arguments.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(8,10): error TS2347: Untyped function calls may not accept type arguments.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(10,7): error TS2421: Class 'C' incorrectly implements interface 'Function':
  Property 'apply' is missing in type 'C'.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(18,10): error TS2349: Cannot invoke an expression whose type lacks a call signature.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(20,18): error TS2311: A class may only extend another class.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(22,10): error TS2349: Cannot invoke an expression whose type lacks a call signature.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(28,10): error TS2346: Supplied parameters do not match any signature of call target.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(35,1): error TS2346: Supplied parameters do not match any signature of call target.
tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts(41,1): error TS2346: Supplied parameters do not match any signature of call target.


==== tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts (10 errors) ====
    // none of these function calls should be allowed
    var x = function () { return; };
    var r1 = x<number>();
             ~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    var y: any = x;
    var r2 = y<string>();
             ~~~~~~~~~~~
!!! error TS2347: Untyped function calls may not accept type arguments.
    
    var c: Function;
    var r3 = c<number>(); // should be an error
             ~~~~~~~~~~~
!!! error TS2347: Untyped function calls may not accept type arguments.
    
    class C implements Function {
          ~
!!! error TS2421: Class 'C' incorrectly implements interface 'Function':
!!! error TS2421:   Property 'apply' is missing in type 'C'.
        prototype = null;
        length = 1;
        arguments = null;
        caller = () => { };
    }
    
    var c2: C;
    var r4 = c2<number>(); // should be an error
             ~~~~~~~~~~~~
!!! error TS2349: Cannot invoke an expression whose type lacks a call signature.
    
    class C2 extends Function { } // error
                     ~~~~~~~~
!!! error TS2311: A class may only extend another class.
    var c3: C2;
    var r5 = c3<number>(); // error
             ~~~~~~~~~~~~
!!! error TS2349: Cannot invoke an expression whose type lacks a call signature.
    
    interface I {
        (number): number;
    }
    var z: I;
    var r6 = z<string>(1); // error
             ~~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    
    interface callable2<T> {
        (a: T): T;
    }
    
    var c4: callable2<number>;
    c4<number>(1);
    ~~~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    interface callable3<T> {
        (a: T): T;
    }
    
    var c5: callable3<number>;
    c5<string>(1); // error
    ~~~~~~~~~~~~~
!!! error TS2346: Supplied parameters do not match any signature of call target.
    
    