microsoft / microsoft/TypeScript

Enum redeclared as var inside block scope

Offen
#30,585 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: enum
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

TypeScript Version: TS Playground as of 2019-03-25

Search Terms: enum declarations can only merge, enum block scope, enum redeclaration

Code

{ enum Foo { } var Foo }

enum Bar { } var Bar;

Expected behavior:
They should both error, or they should be both accepted

Actual behavior:
Only Bar is an error

Playground Link:
https://www.typescriptlang.org/play/index.html#src=%7B%20enum%20Foo%20%7B%20%7D%20var%20Foo%20%7D%0A%0Aenum%20Bar%20%7B%20%7D%20var%20Bar%3B%0A%0A(function%20()%20%7B%20enum%20Baz%20%7B%20%7D%20var%20Baz%20%7D)

Related Issues:
Found while fixing https://github.com/babel/babel/issues/9763

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 die beiden enum-and-var-Beispiele im verknüpften TypeScript Playground und vergleiche den blockbezogenen Fall mit dem Fall auf oberster Ebene. Verfolge die Deklarationsprüfungen des Compilers für diese Snippets und ermittle das konsistente Verhalten, das für beide erwartet wird; als erledigt gilt die Aufgabe, wenn die beiden Fälle übereinstimmen und die gemeldete Regression durch einen geeigneten Compiler-Test abgedeckt ist.

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
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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