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