generic-methods.ts:19:10 - error SC1090: calling the generic method 'm' through a receiver whose runtime class may override it (a subclass of 'VBase' redeclares it and generic methods dispatch statically — bind the receiver to a const initialized with its 'new' expression) is not supported yet

  18 | function throughBase(r: VBase): string {
  19 |   return r.m(1);
     |          ^~~~~~
  20 | }

generic-methods.ts:31:3 - error SC1090: overriding the inherited method 'f' with a generic method (generic methods dispatch statically, so the base's vtable slot could never reach this override) is not supported yet

  30 | class GenericOver extends PlainBase {
  31 |   f<T>(x: T): T {
     |   ^
  32 |     return x;

generic-methods.ts:35:1 - error SC1090: constructing through a class value whose class has no lowering (the class declaration itself was rejected — see its own diagnostic) is not supported yet

  34 | }
  35 | new GenericOver();
     | ^~~~~~~~~~~~~~~~~
  36 | 

generic-methods.ts:42:18 - error SC1090: references to 'this' in object literal methods are not supported yet

  41 |   m<T>(x: T): T {
  42 |     const self = this;
     |                  ^~~~
  43 |     return x;

generic-methods.ts:56:7 - error SC2005: values of type '<T>(x: T) => T' cannot be compiled: the signature keeps its type parameters, and a compiled function is always one concrete signature (generic functions monomorphize per pinned signature — declarations, methods, and never-reassigned bindings holding a generic arrow/function expression, an alias of a registered generic function, or a function initializer under a generic-signature annotation)

  55 | }
  56 | const bound = new Inst().g;
     |       ^~~~~
  57 | const util = { id<T>(x: T): T { return x; } };

  hint: annotate the destination with a concrete signature (e.g. '(x: number) => number'), instantiate explicitly ('f<number>'), or call the generic function directly

generic-methods.ts:58:7 - error SC2005: values of type '<T>(x: T) => T' cannot be compiled: the signature keeps its type parameters, and a compiled function is always one concrete signature (generic functions monomorphize per pinned signature — declarations, methods, and never-reassigned bindings holding a generic arrow/function expression, an alias of a registered generic function, or a function initializer under a generic-signature annotation)

  57 | const util = { id<T>(x: T): T { return x; } };
  58 | const unpinned = util.id;
     |       ^~~~~~~~
  59 | 

  hint: annotate the destination with a concrete signature (e.g. '(x: number) => number'), instantiate explicitly ('f<number>'), or call the generic function directly