microsoft / microsoft/TypeScript
unused local not detected on recursive functions
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Bug Report
🔎 Search Terms
unused local recursive function
🕗 Version & Regression Information
v4.5.0-dev.20210807
⏯ Playground Link
Playground link with relevant code
💻 Code
export {}
//no error even though foo is never read
const foo = () => {
foo()
}
//error: 'bar' is declared but its value is never read.(6133)
const bar = () => {}
🙁 Actual behavior
no error even though foo is never read
🙂 Expected behavior
'foo' is declared but its value is never read.(6133)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem verlinkten TypeScript Playground und reproduziere den Unterschied zwischen der rekursiven foo-Funktion und der unbenutzten bar-Funktion bei aktiviertem noUnusedLocals. Der Payload nennt keine Quelldatei und keinen Test. Verfolge daher die Analyse der nicht verwendeten lokalen Variablen des Compilers anhand dieser Reproduktion. Als erledigt gilt die Aufgabe, wenn die rekursive Deklaration das Diagnostic 6133 meldet, ohne das Verhalten von bar fälschlicherweise zu ändern.
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
- 35/100