==== tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts (24 errors) ==== // it is an error to use a generic type without type arguments // all of these are errors class C { foo: T; } var c: C; ~ !!! Generic type 'C' requires 1 type argument(s). var a: { x: C }; ~ !!! Generic type 'C' requires 1 type argument(s). var b: { (x: C): C }; ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). var d: { [x: C]: C }; ~ !!! An index signature parameter type must be 'string' or 'number'. ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). var e = (x: C) => { var y: C; return y; } ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). function f(x: C): C { var y: C; return y; } ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). var g = function f(x: C): C { var y: C; return y; } ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). ~ !!! Generic type 'C' requires 1 type argument(s). class D extends C { ~ !!! Generic type 'C' requires 1 type argument(s). } interface I extends C {} ~ !!! Generic type 'C' requires 1 type argument(s). module M { export class E { foo: T } } class D2 extends M.E { } ~~~ !!! Generic type 'E' requires 1 type argument(s). class D3 { } ~~~ !!! Generic type 'E' requires 1 type argument(s). interface I2 extends M.E { } ~~~ !!! Generic type 'E' requires 1 type argument(s). function h(x: T) { } ~ !!! Generic type 'C' requires 1 type argument(s). function i(x: T) { } ~~~ !!! Generic type 'E' requires 1 type argument(s). var j = null; ~ !!! Generic type 'C' requires 1 type argument(s). var k = null; ~~~ !!! Generic type 'E' requires 1 type argument(s).