genericInterfaceTypeCall.ts(12,1): error TS2454: Variable 'test' is used before being assigned.
genericInterfaceTypeCall.ts(13,1): error TS2454: Variable 'test' is used before being assigned.


==== genericInterfaceTypeCall.ts (2 errors) ====
    interface Foo<T> {
        reject(arg: T): void;
    }
    var foo: Foo<string>
     
    interface bar<T> {
        fail(func: (arg: T) => void ): void;
        fail2(func2: { (arg: T): void; }): void;
    }
    var test: bar<string>;
     
    test.fail(arg => foo.reject(arg));
    ~~~~
!!! error TS2454: Variable 'test' is used before being assigned.
    test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match any signature of call target
    ~~~~
!!! error TS2454: Variable 'test' is used before being assigned.
    