Microsoft/TypeScript

Function implementation name must be ... (2389) when abstract method is declared again later

Open

#61.783 aperta il 29 mag 2025

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)TypeScript (6726 fork)batch import
Domain: Error MessagesHelp WantedPossible Improvement

Metriche repository

Star
 (48.455 star)
Metriche merge PR
 (Merge medio 6g 17h) (9 PR mergiate in 30 g)

Descrizione

🔎 Search Terms

duplicate abstract function declaration, abstract method, missing implementation, abstract method overload

🕗 Version & Regression Information

  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about abstract class

⏯ Playground Link

https://www.typescriptlang.org/play/?#code/IYIwzgLgTsDGEAJYBthjAgYge2wg3gFAIkKiQzwIBmArgHawAiApigIwAUAlAFwIA3bAEsAJgG5CxUnUasUAJh78Kw+gHMC00qSgsItKPQQByABbCT2hAF9r18tDiJZzNsi59BIiYTtA

💻 Code

abstract class Foo {
    abstract func1(): void;

    func2(): string {
    // ^? Function implementation name must be 'func1'.(2389)
        return 'hi'
    }
    
    abstract func1(): void;
}

🙁 Actual behavior

TS error reported for func2, which is valid.

🙂 Expected behavior

TS error reported for func1, which has duplicated abstract declaration.

Additional information about the issue

No response

Guida contributor