microsoft / microsoft/TypeScript

@ts-ignore is broken in 3.6 when code line is broken into 2 lines

Offen
#33,256 10 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs Proposal Suggestion
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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

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