-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue
Milestone
Description
TypeScript Version: 2.2.1
Code
type Constructor<T> = new(...args: any[]) => T
function Tagged<T extends Constructor<{}>>(Base: T) {
return class extends Base {
_tag: string;
constructor(...args: any[]) {
super(...args)
this._tag = ''
}
}
}
class A {
toString () {
return 'class A'
}
}
class B extends Tagged(A) {
// error TS2425
toString () {
return 'class B'
}
}
class C extends A {
toString () {
return 'class C'
}
}Expected behavior:
No error.
Actual behavior:
error TS2425: Class 'Tagged.(Anonymous class) & A' defines instance member property 'toString'
, but extended class 'B' defines it as instance member function.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue