TS2797
TypeScriptERRORNotableTypeHIGH confidence

A mixin class that extends from a type variable containing an abstract constr...

Production Risk

Build will fail; resolve before shipping.

What this means

A type-checking error (TS2797): A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'.. This diagnostic is emitted by the TypeScript compiler when a mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'..

Why it happens
  1. 1A concrete class extends an abstract class but does not implement all abstract members
How to reproduce

TypeScript compiler reports TS2797 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS2797
// A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'.

expected output

error TS2797: A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'.

Fix

Implement all abstract members

WHEN Extending an abstract class

Implement all abstract members
abstract class Base {
  abstract doWork(): void;
}
class Derived extends Base {
  doWork(): void { /* implementation */ }
}

Why this works

All abstract members must be implemented in concrete subclasses.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors