python / python/mypy

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

Ouverte
#21,402 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Merge moyen
1 j 18 h
PR mergées (30 j)
54

Description

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.

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

Commencez par localiser l’évaluation statique existante de mypy pour les conditions impliquant sys.version_info et sys.platform. Suivez la manière dont les comparaisons de versions sont représentées et testées, puis déterminez le comportement attendu pour les comparaisons entre sys.hexversion et des littéraux entiers. Le travail sera considéré comme terminé lorsque les conditions hexversion prises en charge seront évaluées de manière cohérente avec les cas existants et que des tests couvriront les comparaisons demandées.

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

Évaluation

Stack technique
python
Domaine
devtools
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.