Closed as not planned
Description
π Search Terms
override ambient type declaration class dts noImplicitOverride
π Version & Regression Information
- This is the behavior in every version I tried
β― Playground Link
π» Code
// @noImplicitOverride: true
declare class Base {
b: number;
}
declare class Derived extends Base {
b: number; // no error
}
declare class Base2 {}
declare class Derived2 extends Base2 {
override b: number; // error
}
π Actual behavior
A property in a derived class in ambient context doesn't have to have override
modifier with noImplicitOverride
. override
is still checked when present though.
π Expected behavior
It feels slightly inconsistent. I couldn't find any note about this in the docs and I had to look into the source code and dig up the PR that implemented override
to check if it's a bug or not.
Additional information about the issue
I believe this works like that since noImplicitOverride
was introduced in #39669 in 4.3: TS playground