microsoft / microsoft/TypeScript
Smarter errors around `Function.length`
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 132
Description
I don't know how often other people have encountered this, but here goes: In the same vein as our uncalled function checks, most usages of Function.length are probably an error. Here's a toy example that just bit me:
declare function getResult(): string[];
for (let i = 0; i< getResult.length; i++) {
getResult().slice(0, i).map(x => console.log(x));
}
Minimally, I think we could suggest that if a function returns something with a length property, and the function's length property is inspected instead, we could probably mark it as suspect.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner les vérifications existantes des fonctions non appelées dans le compilateur TypeScript, puis suivez la manière dont l’accès aux propriétés des fonctions est analysé. Définissez les limites de diagnostic prévues pour l’inspection de Function.length lorsque le résultat de la fonction possède une propriété length, et ajoutez une couverture montrant quand l’utilisation est considérée comme suspecte.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100