microsoft / microsoft/TypeScript

Can't infer unique symbol types via another variable

Offen
#35,896 4 Kommentare 1 Reaktion 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

Literals such as 0 can be inferred correctly but unique symbols are not.

TypeScript Version: 3.7.x-dev.20191224

Search Terms:

Code

let revision: symbol;
const rev = revision = Symbol();
rev === revision;

Expected behavior:
Type rev is unique symbol.
Actual behavior:
Type rev is symbol. Can't even declare that rev is a unique symbol.
Playground Link: https://www.typescriptlang.org/play/index.html?ts=3.8.0-dev.20191224&ssl=1&ssc=1&pln=3&pc=18#code/DYUwLgBATiBuCWBneB7AdgLgogngWwCMVgBuAKAGN1FIZYIBeaOJVNRiAZXyOAAoAlOTqMGTOq3QkgA

Related Issues:

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 damit, das Beispiel im verlinkten TypeScript Playground mit der gemeldeten Version 3.8.0-dev zu reproduzieren, und vergleiche dann die Inferenz für das Literalbeispiel mit der Inferenz für die Zuweisung von unique symbol. Es wird keine Quelldatei oder kein Test im issue genannt; abgeschlossen bedeutet, dass rev im bereitgestellten Code als unique symbol statt als symbol inferiert wird.

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
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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