microsoft / microsoft/TypeScript
Incorrect diagnostic message in TS2814
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
### 🔎 Search Terms
2814, function body
### 🕗 Version & Regression Information
- regression at `v4.4.4`.
### ⏯ Playground Link
https://www.typescriptlang.org/play/?ts=4.4.4#code/MYGwhgzhAEBiD29oG9oChqegIzAJwEYAKAShWgF80q0AzAVwDtgAXAS3kbkVIG40A9AIB+APWgBRAEpSA8lIBccJqw5cA7mxYALHPAAmbAKYxgYLpxABPaAFsjeAOZHomndFCQIJ6DrAtofBcwW2xjRhYAOiA
### 💻 Code
```ts
// tests/cases/compiler/callOverloads1.ts
class Foo {
bar1() { }
}
function Foo();
//~^ error report: Function with bodies can only merge with classes that are ambient.
```
### 🙁 Actual behavior
The `function Foo` actually has no body (it's just a declaration), yet the error message says "Function with bodies...", which may be a bit confusing.
### 🙂 Expected behavior
Either show a hint like "Only functions can merge with ambient classes," or suppress the error report for functions without a body because `class Foo` will report `Class declaration cannot implement overload list for 'Foo'`.
### Additional information about the issue
_No response_
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit tests/cases/compiler/callOverloads1.ts und reproduzieren Sie die TS2814-Diagnose mithilfe des bereitgestellten Playground-Beispiels. Verfolgen Sie die Diagnose für eine Funktionsdeklaration, die mit einer Klasse zusammengeführt wurde, und wählen und validieren Sie anschließend das in der Issue beschriebene Verhalten für die gemeldete Meldung oder die Unterdrückung. Aktualisieren Sie die Erwartungen des Compiler-Tests, sodass die inkorrekte Formulierung nicht länger akzeptiert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 68/100