microsoft / microsoft/TypeScript

Too wide diagnostic with array spread

Ouverte
#58,110 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Domain: Related Error Spans
Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Description

🔎 Search Terms

array spread, diagnostics

🕗 Version & Regression Information
  • This is the behavior in every version I tried and I have reviewed the FAQ
⏯ Playground Link

https://www.typescriptlang.org/play?ts=5.4.4#code/C4TwDgpgBAggRgYygXigIgIZqgH3XbPNBNAbgChyEB7AOwGdgoMAnFjEARgC5ZEBtALooo-TGgA0+NIIpU6jZmw4AmXvARCR-clD1QAdEdbsuE3fvFSLetAXP70AE0nlBQA

💻 Code
type Abc = "a" | "b" | "c";

const array1: Abc[] = ["a", "b"];

const array2: Abc[] = [
    ...array1,
    "a", 
    "b",
    "d",
]
🙁 Actual behavior

The whole contents of array2 is highlighted in red.

🙂 Expected behavior

Only the "d" should be highlighted in red, as it is the only incorrect part of array2. Note that if we remove the spread ...array1, then it works as expected.

Additional information about the issue

With more complicated types/data, this bug can make it pretty hard to diagnose where the problem is.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction liée dans TypeScript Playground et par l’exemple d’array-spread de l’issue. Suivez la manière dont les diagnostics sont produits pour le littéral de tableau, puis vérifiez que seul l’élément "d" est mis en évidence, tandis que le spread et les éléments valides ne le sont pas.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.