Skip to content

Unexpected A class must be declared after its base class. error with class expression #10624

@vvakame

Description

@vvakame

TypeScript Version: 2.0.2

Code

let cat = new class extends class {
    speak() {
        return "???";
    }
} {
    speak() {
        return "meow";
    }
}();
console.log(cat.speak());

Expected behavior:

We can compile this code.

Actual behavior:

$ tsc -v
Version 2.0.2
$ tsc sample.ts
$ sample.ts(1,29): error TS2690: A class must be declared after its base class.

This code can compiled by tsc 2.0.0.

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions