override
isn't required in ambient contexts with noImplicitOverride
#60635
Labels
Working as Intended
The behavior described is the intended behavior; this is not a bug
π Search Terms
override ambient type declaration class dts noImplicitOverride
π Version & Regression Information
β― Playground Link
https://www.typescriptlang.org/play/?noImplicitOverride=true&ts=5.8.0-dev.20241128&ssl=15&ssc=2&pln=1&pc=1#code/PTAEAEDsHsEkFsAOAbAlgY1QFwPIDcBTAJyNQBMCAuULIgVwIChGL1kBDIg0N9gZz6gAQv24BvRqFAAjapDrxpxANyMAvs1YcuPDgNAARYqkJlQBAB5YCkMoJF9xkmXIVKiqjSwK8dvfQ4EAEygYl5anNz+gkakpiGW1rb2oiESUtCEJOTcsqDyiirqjEA
π» Code
π Actual behavior
A property in a derived class in ambient context doesn't have to have
override
modifier withnoImplicitOverride
.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 playgroundThe text was updated successfully, but these errors were encountered: