tests/cases/compiler/genericTypeAssertions1.ts(3,5): error TS2322: Type 'A<number>' is not assignable to type 'A<string>'.
  Type 'number' is not assignable to type 'string'.
tests/cases/compiler/genericTypeAssertions1.ts(4,5): error TS2322: Type 'A<A<number>>' is not assignable to type 'A<number>'.
  Type 'A<number>' is not assignable to type 'number'.
tests/cases/compiler/genericTypeAssertions1.ts(4,21): error TS2352: Neither type 'A<number>' nor type 'A<A<number>>' is assignable to the other.
  Type 'number' is not assignable to type 'A<number>'.


==== tests/cases/compiler/genericTypeAssertions1.ts (3 errors) ====
    class A<T> { foo(x: T) { }}
    var foo = new A<number>();
    var r: A<string> = <A<number>>new A(); // error
        ~
!!! error TS2322: Type 'A<number>' is not assignable to type 'A<string>'.
!!! error TS2322:   Type 'number' is not assignable to type 'string'.
    var r2: A<number> = <A<A<number>>>foo; // error
        ~~
!!! error TS2322: Type 'A<A<number>>' is not assignable to type 'A<number>'.
!!! error TS2322:   Type 'A<number>' is not assignable to type 'number'.
                        ~~~~~~~~~~~~~~~~~
!!! error TS2352: Neither type 'A<number>' nor type 'A<A<number>>' is assignable to the other.
!!! error TS2352:   Type 'number' is not assignable to type 'A<number>'.