==== tests/cases/compiler/genericAssignmentCompatWithInterfaces1.ts (4 errors) ====
    interface Comparable<T> {
       compareTo(other: T): number;
    }
    interface I<T> {
        x: Comparable<T>;
    }
    interface K<T> {
       x: A<T>;
    }
    class A<T> implements Comparable<T> { compareTo(other: T) { return 1; } }
    var z = { x: new A<number>() };
    var a1: I<string> = { x: new A<number>() };
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! genericAssignmentCompatWithInterfaces1.ts(12,5): error TS2012: Cannot convert '{ x: A<number>; }' to 'I<string>':
!!! 	Types of property 'x' of types '{ x: A<number>; }' and 'I<string>' are incompatible:
!!! 		Types of property 'compareTo' of types 'A<number>' and 'Comparable<string>' are incompatible:
!!! 			Call signatures of types '(other: number) => number' and '(other: string) => number' are incompatible.
    var a2: I<string> = function (): { x: A<number> } {
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       var z = { x: new A<number>() }; return z;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    } ();
    ~~~~
!!! genericAssignmentCompatWithInterfaces1.ts(13,5): error TS2012: Cannot convert '{ x: A<number>; }' to 'I<string>':
!!! 	Types of property 'x' of types '{ x: A<number>; }' and 'I<string>' are incompatible:
!!! 		Types of property 'compareTo' of types 'A<number>' and 'Comparable<string>' are incompatible:
!!! 			Call signatures of types '(other: number) => number' and '(other: string) => number' are incompatible.
    var a3: I<string> = z;
        ~~~~~~~~~~~~~~~~~
!!! genericAssignmentCompatWithInterfaces1.ts(16,5): error TS2012: Cannot convert '{ x: A<number>; }' to 'I<string>':
!!! 	Types of property 'x' of types '{ x: A<number>; }' and 'I<string>' are incompatible:
!!! 		Types of property 'compareTo' of types 'A<number>' and 'Comparable<string>' are incompatible:
!!! 			Call signatures of types '(other: number) => number' and '(other: string) => number' are incompatible.
    var a4: I<string> = <K<number>>z;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! genericAssignmentCompatWithInterfaces1.ts(17,5): error TS2012: Cannot convert 'K<number>' to 'I<string>':
!!! 	Types of property 'x' of types 'K<number>' and 'I<string>' are incompatible:
!!! 		Types of property 'compareTo' of types 'A<number>' and 'Comparable<string>' are incompatible:
!!! 			Call signatures of types '(other: number) => number' and '(other: string) => number' are incompatible.
     
    