python / python/mypy

Conditional deduction support with comparison of `sys.hexversion` against integer literal

Aperta
#21,402 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

feature
Lingua principale
Python
Stelle
20.6k
Fork
3.3k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

Feature

Currently, mypy statically evaluates some if branches involving only sys.version_info and sys.platform as always false based on the version and platform it is running on. I propose to have it recognize comparisons against sys.hexversion as well.

Pitch

Some specialized functions targeting bugs patched in a certain alpha, beta or release candidate or internal behavioural differences between patch versions would need this functionality. Also, it may be desirable to give alpha/beta/rc versions a grace period for certain small deprecations, only raising an error on their use in the final python release. Implementation-wise, because the exact value of hexversion can be easily retrieved, and sys.platform and sys.version_info have set precedents, I do not believe it would be unreasonably hard to implement.

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

Inizia individuando la valutazione statica esistente di mypy per le condizioni che coinvolgono sys.version_info e sys.platform. Analizza come vengono rappresentati e testati i confronti di versione, quindi determina il comportamento previsto per i confronti tra sys.hexversion e valori letterali interi. Il lavoro sarà completato quando le condizioni hexversion supportate verranno valutate in modo coerente con i casi esistenti e i test copriranno i confronti richiesti.

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

Valutazione

Stack tecnologico
python
Ambito
devtools
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.