python / python/typeshed

variance of `functools.py`'s `_T` TypeVar

Ouverte
#10,566 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
5.1k
Forks
2.1k
Merge moyen
1 j 19 h
PR mergées (30 j)
82

Description

The TypeVar _T in functools.py is defined to be invariant, but is used mostly as the return type of Callables or in similar situations (and not in the argument types, except in reduce, total_ordering and cmp_to_key).
I think it should be replaced by some covariant TypeVar where applicable (like the return type of Callable).

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

Examinez functools.py et retracez chaque utilisation de _T TypeVar, en distinguant les utilisations pour les types de retour des utilisations pour les types d’arguments dans reduce, total_ordering et cmp_to_key. Déterminez où la covariance est valide sans modifier les relations entre les arguments ; le travail est terminé lorsque les utilisations concernées emploient la variance appropriée et que les stubs affectés restent corrects du point de vue des types.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Refactorisation
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.