bpo-35766: Change format for feature_version to (major, minor) (GH-13992)

(A single int is still allowed, but undocumented.)



https://bugs.python.org/issue35766
This commit is contained in:
Guido van Rossum 2019-06-11 17:23:12 -07:00 committed by Miss Islington (bot)
parent 04856c2193
commit 10b55c1643
4 changed files with 19 additions and 10 deletions

View file

@ -28,7 +28,7 @@ from _ast import *
def parse(source, filename='<unknown>', mode='exec', *,
type_comments=False, feature_version=-1):
type_comments=False, feature_version=None):
"""
Parse the source into an AST node.
Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
@ -37,6 +37,13 @@ def parse(source, filename='<unknown>', mode='exec', *,
flags = PyCF_ONLY_AST
if type_comments:
flags |= PyCF_TYPE_COMMENTS
if isinstance(feature_version, tuple):
major, minor = feature_version # Should be a 2-tuple.
assert major == 3
feature_version = minor
elif feature_version is None:
feature_version = -1
# Else it should be an int giving the minor version for 3.x.
return compile(source, filename, mode, flags,
feature_version=feature_version)