python / python/cpython

Marshal format version: Meaning of setting a larger-than-supported version?

Ouverte
#140,758 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

docs interpreter-core
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

Documentation

Python 3.14 bumped the marshal format version to 5. Curious to find out what setting the version to 5 for earlier Python releases, I took a look at https://github.com/python/cpython/blob/main/Python/marshal.c and found that all version comparisons are [<>][=], meaning that it would be perfectly legal to set version=99 to always get the latest. Specifically, setting version=5 on Python 3.13 will also give the latest supported marshal format on that release, namely 4, without warning or error.

That seems a little funny.

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 lire la documentation de marshal liée dans l’issue et examinez les comparaisons de versions dans Python/marshal.c. Déterminez le comportement attendu lorsqu’un appelant fournit une version plus récente que celle prise en charge par l’interpréteur, puis mettez à jour la documentation ou clarifiez la résolution attendue de l’issue et vérifiez la formulation par rapport à l’implémentation.

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

Évaluation

Stack technique
python
Domaine
documentation
Type d'issue
Documentation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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