tests/cases/compiler/functionTypeArgumentAssignmentCompat.ts(9,1): error TS2322: Type '<S>() => S[]' is not assignable to type '<T>(x: T) => T'.
  Type 'unknown[]' is not assignable to type 'T'.
    'unknown[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.


==== tests/cases/compiler/functionTypeArgumentAssignmentCompat.ts (1 errors) ====
    var f : {
     <T>(x:T): T;
    }
    
    var g : {
     <S>() : S[];
    } = () => [];
    
    f = g;
    ~
!!! error TS2322: Type '<S>() => S[]' is not assignable to type '<T>(x: T) => T'.
!!! error TS2322:   Type 'unknown[]' is not assignable to type 'T'.
!!! error TS2322:     'unknown[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.
    var s = f("str").toUpperCase();
    
    console.log(s);
    