=== tests/cases/compiler/generics2NoError.ts === interface A { a: string; } >a : string interface B extends A { b: string; } >b : string interface C extends B { c: string; } >c : string interface G { x: T; >x : T y: U; >y : U } var v1: { >v1 : { x: { a: string;}; y: { a: string; b: string; c: string;}; } x: { a: string; } >x : { a: string; } >a : string y: { a: string; b: string; c: string }; >y : { a: string; b: string; c: string; } >a : string >b : string >c : string }; // Ok var v2: G<{ a: string }, C>; // Ok, equivalent to G >v2 : G<{ a: string; }, C> >a : string var v4: G, C>; // Ok >v4 : G, C>