[Python-checkins] ast.parse: check `feature_version` common case first (GH-94640)

isidentical webhook-mailer at python.org
Mon Aug 29 10:05:33 EDT 2022


https://github.com/python/cpython/commit/9c2b9348e21a4ba3e995345501898c383972752d
commit: 9c2b9348e21a4ba3e995345501898c383972752d
branch: main
author: Anthony Sottile <asottile at umich.edu>
committer: isidentical <isidentical at gmail.com>
date: 2022-08-29T17:05:24+03:00
summary:

ast.parse: check `feature_version` common case first (GH-94640)

files:
M Lib/ast.py

diff --git a/Lib/ast.py b/Lib/ast.py
index ebf4529f79b0..8af6d1ed14db 100644
--- a/Lib/ast.py
+++ b/Lib/ast.py
@@ -40,13 +40,13 @@ def parse(source, filename='<unknown>', mode='exec', *,
     flags = PyCF_ONLY_AST
     if type_comments:
         flags |= PyCF_TYPE_COMMENTS
-    if isinstance(feature_version, tuple):
+    if feature_version is None:
+        feature_version = -1
+    elif isinstance(feature_version, tuple):
         major, minor = feature_version  # Should be a 2-tuple.
         if major != 3:
             raise ValueError(f"Unsupported major version: {major}")
         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)



More information about the Python-checkins mailing list