microsoft / microsoft/TypeScript

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

Offen
#61,783 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Domain: Error Messages Help Wanted Possible Improvement
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

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

```ts
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_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere die Diagnose mithilfe des TypeScript Playground-Links und des Beispiels mit der abstrakten Klasse im Issue. Verfolge, wie der Compiler Fehler zu Implementierungsnamen für wiederholte abstrakte Deklarationen zuweist; abgeschlossen ist die Aufgabe, wenn der Fehler auf die doppelte func1-Deklaration statt auf die gültige func2-Implementierung zeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.