microsoft / microsoft/TypeScript

Generic syntax ambiguity is handled incorrectly

Offen
#60,874 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

🔎 Search Terms

generic syntax ambiguity

🕗 Version & Regression Information
  • I was unable to test this on prior versions because there is no online tooling for it
⏯ Playground Link

https://www.typescriptlang.org/play/?#code/MYewdgzgLgBAhjAvDAjAGhgIyTATB4HAZgwBMcAWDAUxwFYBuAKFEhABtqA6dkAcwAUCADxYMAwgD4YA8gDIY1AJQrmQA

💻 Code
const a = 1, b = 2, c = 3, d = 4, e = 5;
console.log(a < b, (c > (d & e)));
🙁 Actual behavior

This expression is not callable.

🙂 Expected behavior

true false

Additional information about the issue

While there might be some justification for why

const a = 1, b = 2, c = 3, d = 4, e = 5;
console.log(a < b, c > (d & e));

doesn't work as it did in JS, in the provided example there isn't even any disambiguity.

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

Reproduziere den gemeldeten Ausdruck im verlinkten TypeScript Playground und vergleiche ihn mit der Version ohne Klammern. Verfolge, wie der Compiler die Mehrdeutigkeit der generischen Syntax für diesen Ausdruck behandelt; abgeschlossen ist die Aufgabe, wenn der bereitgestellte Code akzeptiert wird und true false ausgibt, ohne die zugehörige mehrdeutige Form zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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