microsoft / microsoft/TypeScript
Array rest of readonly tuple type incorrectly preserves readonly modifier
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.4k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
TypeScript Version: 3.8.0-dev.20200101
Search Terms: readonly tuple rest
Code
declare const tuple: readonly [number, ...number[]];
const [a, ...rest] = tuple;
rest[0] = 1;
rest.push(2);
Expected behavior:
rest: number[]
I should be able to modify the resulting array.
Actual behavior:
rest: readonly number[]
Not able to modify the array (even though it is a mutable clone at runtime).
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 la reproduction TypeScript Playground liée, en utilisant l’exemple de déstructuration rest d’un tuple readonly. Suivez la manière dont le compilateur infère le type de rest, puis vérifiez que le comportement final permet rest[0] = 1 et rest.push(2) tout en préservant la sémantique d’exécution rapportée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 42/100