=== tests/cases/compiler/generics3.ts === class C { private x: T; } >C : C >T : T >x : T >T : T interface X { f(): string; } >X : X >f : () => string interface Y { f(): string; } >Y : Y >f : () => string var a: C; >a : C >C : C >X : X var b: C; >b : C >C : C >Y : Y a = b; // Ok - should be identical >a = b : C >a : C >b : C