TS2512
TypeScriptERRORNotableTypeHIGH confidence

Overload signatures must all be abstract or non-abstract.

Production Risk

Build will fail; resolve before shipping.

What this means

A type-checking error (TS2512): Overload signatures must all be abstract or non-abstract.. This diagnostic is emitted by the TypeScript compiler when overload signatures must all be abstract or non-abstract..

Why it happens
  1. 1The function overload signatures do not match the implementation
How to reproduce

TypeScript compiler reports TS2512 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS2512
// Overload signatures must all be abstract or non-abstract.

expected output

error TS2512: Overload signatures must all be abstract or non-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