microsoft / microsoft/TypeScript

Mixing Iterable destruction with plain args when calling function

Offen
#42,119 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: check: Type Inference
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

Bug Report

🔎 Search Terms
🕗 Version & Regression Information
  • This changed between versions 3.3.3333 and 3.5.1
⏯ Playground Link

Playground link with relevant code

💻 Code

// no errors, wrong
new Set(...new Set<string>([]), '34')
new Set(...new Set<string>(['12']), '34')

// error, ok
new Set('12', '34')
🙁 Actual behavior

Code accepted as valid

🙂 Expected behavior

Error thrown

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 TypeScript Playground und reproduziere die beiden akzeptierten new Set(...new Set<string>(...), '34')-Aufrufe zusammen mit dem abgelehnten Fall mit einfachen Argumenten. Verfolge den Einstiegspunkt des Checkers für Konstruktoraufrufe mit Iterable-Spreads und füge einen Regressionstest hinzu, der die gemeldeten Formen abdeckt, und verifiziere, dass ungültige Aufrufe abgelehnt werden.

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
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

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