//// [generics1.ts] interface A { a: string; } interface B extends A { b: string; } interface C extends B { c: string; } interface G { x: T; y: U; } var v1: G; // Ok var v2: G<{ a: string }, C>; // Ok, equivalent to G var v3: G; // Error, A not valid argument for U var v4: G, C>; // Ok var v5: G; // Error, any does not satisfy constraint B var v6: G; // Error, wrong number of arguments var v7: G; // Error, no type arguments //// [generics1.js] var v1; // Ok var v2; // Ok, equivalent to G var v3; // Error, A not valid argument for U var v4; // Ok var v5; // Error, any does not satisfy constraint B var v6; // Error, wrong number of arguments var v7; // Error, no type arguments