Microsoft/TypeScript

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

Open

#61.783 geöffnet am 29. Mai 2025

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (6.726 Forks)batch import
Domain: Error MessagesHelp WantedPossible Improvement

Repository-Metriken

Stars
 (48.455 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)

Beschreibung

🔎 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

Contributor Guide