python / python/typeshed

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

Aperta
#10,566 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
5.1k
Fork
2.1k
Merge medio
1g 19h
PR unite (30g)
82

Descrizione

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).

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Esamina functools.py e traccia ogni utilizzo di _T TypeVar, distinguendo gli utilizzi per i tipi restituiti dagli utilizzi per i tipi degli argomenti in reduce, total_ordering e cmp_to_key. Determina dove la covarianza è valida senza modificare le relazioni tra gli argomenti; il lavoro è completato quando gli utilizzi applicabili usano la varianza appropriata e gli stub interessati rimangono corretti dal punto di vista dei tipi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
tooling
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.