microsoft / microsoft/TypeScript

noUnusedLocals throws errors for "never" type.

Offen
#31,129 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

Search Terms:
nounusedlocals never
nounusedlocals
never
never variable is not used error

Code

//NOTE: nounusedlocals is set to true in tsconfig.
enum Color {
  A,
  B,
}
function f(color: Color) {
  switch(color) {
    case Color.A:
      console.log("White");
      break;
    case Color.B:
      console.log("Black");
      break;
    default:
      const _:never = color;
  }
}

Expected behavior:
Compiles fine, prints nothing

Actual behavior:
Given variable _ is unused. _ is of type never which means it is expected to be never used. It is being declared as a compile time safety to ensure that we have cases over all the Color enum values.

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

Beginnen Sie damit, das bereitgestellte TypeScript-Snippet mit aktiviertem noUnusedLocals zu kompilieren, und bestätigen Sie die Diagnose bei der Deklaration const _: never = color. Verfolgen Sie die noUnusedLocals-Diagnose für diese Deklaration und vergleichen Sie sie mit dem erwarteten exhaustive-switch-Verhalten. Als erledigt gilt die Aufgabe, wenn das Snippet kompiliert wird, ohne _ als unbenutzt zu melden, während andere tatsächlich unbenutzte lokale Variablen weiterhin diagnostiziert 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
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

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