microsoft / microsoft/TypeScript
Function implementation name must be ... (2389) when abstract method is declared again later
- 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
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