microsoft / microsoft/TypeScript
`x && x` should not be `NonNullable`
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
🔎 Search Terms
logical and, generic, NonNullable
🕗 Version & Regression Information
There has been this problem since 4.8.4 (I tried it on the playground)
⏯ Playground Link
💻 Code
const f = <T,>(x: T) => x && x // <T>(x: T) => NonNullable<T>
🙁 Actual behavior
Since f returns NonNullable<T>, we can make every value NonNullable, and never can be created by calling f(null).
🙂 Expected behavior
f should return T.
Additional information about the issue
No response
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 liée dans TypeScript Playground et examinez comment le vérificateur de types infère le type de retour de l’expression générique de ET logique. Vérifiez le comportement pour la fonction générique présentée et confirmez que le type résultant n’autorise plus le résultat signalé de NonNullable et never.
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é
- Clairement spécifiée
- Accessibilité débutants
- 35/100