quick-lint-js

Find bugs in JavaScript programs.

E0298: abstract methods cannot be marked 'async'

The async keyword on methods changes the body of that method. Abstract methods do not have bodies. Therefore, async does not make sense on abstract methods, and it is a syntax error to write it:

abstract class DataLoader {
  abstract async load(): Promise<LoadedData>;
}

To fix this error, remove the async keyword:

abstract class DataLoader {
  abstract load(): Promise<LoadedData>;
}

Introduced in quick-lint-js version 2.10.0.

Documentation for other errors