microsoft / microsoft/TypeScript
@ts-ignore is broken in 3.6 when code line is broken into 2 lines
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Search Terms:
@ts-ignore
ts-ignore
ignore
multiline
Code
const veryLongStructureNameWithFooInside = {
foo: (x: number): Promise<number> => {
return Promise.resolve(x);
},
};
// @ts-ignore
veryLongStructureNameWithFooInside
.foo() // Notice the line break here caused by prettier
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
Expected behavior:
There should be no errors as @ts-ignore is set on the function call (works in 3.5.2)
Actual behavior:
In next version the following error occurs:
error TS2554: Expected 1 arguments, but got 0.
.foo()
~~~~~
foo: (x: number): Promise<number> => {
~~~~~~~~~
An argument for 'x' was not provided.
Playground Link:
playground
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
Beginne mit dem verlinkten Playground und der bereitgestellten mehrzeiligen @ts-ignore-Reproduktion; vergleiche TypeScript 3.5.2 mit dem Verhalten von 3.6. Verfolge, wie die Direktive dem aufgeteilten Aufruf zugeordnet wird, und überprüfe anschließend, dass das Beispiel keinen Fehler meldet, während Diagnosen für nicht verwandten Code erhalten bleiben.
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
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100