microsoft / microsoft/TypeScript
Index signature is assignable to weak type whose properties don't match the signature type
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
From https://stackoverflow.com/q/52368008 . Based on https://github.com/Microsoft/TypeScript/pull/16047#issue-122101801, it appears that @sandersn may have thought about the rule, but it still makes no sense to me and no rationale is stated.
TypeScript Version: master (394ee31a56c40033f31a3a8461ec267463033194)
Search Terms: weak type index signature
Code
interface Foo {
a?: string;
}
interface Bar {
[n: string]: number;
}
declare let b: Bar;
// No error; expected "Type 'Bar' has no properties in common with type 'Foo'."
let a: Foo = b;
Expected behavior: Error: "Type 'Bar' has no properties in common with type 'Foo'."
Actual behavior: No error.
Playground Link: link
Related Issues: Possibly #9900
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 reproduire le problème dans TypeScript Playground et comparez le résultat actuel avec le diagnostic attendu pour les types faibles. Lisez la discussion dans l’issue #9900 et la pull request #16047 pour comprendre la règle existante et sa justification. Le travail est terminé lorsque l’exemple signale l’erreur indiquée sans provoquer de régression dans les affectations connexes aux signatures d’index.
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é
- Calme
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 52/100