[Python-checkins] cpython (3.5): Issue #24619: More tests; fix nits in compiler.c

yury.selivanov python-checkins at python.org
Wed Jul 22 13:49:22 CEST 2015


https://hg.python.org/cpython/rev/e4e01488afff
changeset:   96996:e4e01488afff
branch:      3.5
parent:      96994:9da080ecadb2
user:        Yury Selivanov <yselivanov at sprymix.com>
date:        Wed Jul 22 14:48:57 2015 +0300
summary:
  Issue #24619: More tests; fix nits in compiler.c

files:
  Lib/test/badsyntax_async2.py |  2 +-
  Lib/test/test_coroutines.py  |  9 +++++----
  Python/compile.c             |  5 ++---
  Python/symtable.c            |  2 +-
  4 files changed, 9 insertions(+), 9 deletions(-)


diff --git a/Lib/test/badsyntax_async2.py b/Lib/test/badsyntax_async2.py
--- a/Lib/test/badsyntax_async2.py
+++ b/Lib/test/badsyntax_async2.py
@@ -1,2 +1,2 @@
-async def foo(a:await something()):
+async def foo(a=await something()):
     pass
diff --git a/Lib/test/test_coroutines.py b/Lib/test/test_coroutines.py
--- a/Lib/test/test_coroutines.py
+++ b/Lib/test/test_coroutines.py
@@ -205,12 +205,14 @@
                    return lambda a: await
             """,
 
-            """async def foo(a: await b):
+            """await a()""",
+
+            """async def foo(a=await b):
                    pass
             """,
 
             """def baz():
-                   async def foo(a: await b):
+                   async def foo(a=await b):
                        pass
             """,
 
@@ -271,10 +273,9 @@
                         pass\nawait a
             """]
 
-        ns = {}
         for code in samples:
             with self.subTest(code=code), self.assertRaises(SyntaxError):
-                exec(code, ns, ns)
+                compile(code, "<test>", "exec")
 
     def test_goodsyntax_1(self):
         # Tests for issue 24619
diff --git a/Python/compile.c b/Python/compile.c
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1749,13 +1749,12 @@
     arglength = asdl_seq_LEN(args->defaults);
     arglength |= kw_default_count << 8;
     arglength |= num_annotations << 16;
+    if (is_async)
+        co->co_flags |= CO_COROUTINE;
     compiler_make_closure(c, co, arglength, qualname);
     Py_DECREF(qualname);
     Py_DECREF(co);
 
-    if (is_async)
-        co->co_flags |= CO_COROUTINE;
-
     /* decorators */
     for (i = 0; i < asdl_seq_LEN(decos); i++) {
         ADDOP_I(c, CALL_FUNCTION, 1);
diff --git a/Python/symtable.c b/Python/symtable.c
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -1542,7 +1542,7 @@
     if (a->kwonlyargs && !symtable_visit_argannotations(st, a->kwonlyargs))
         return 0;
     if (returns)
-        VISIT(st, expr, s->v.FunctionDef.returns);
+        VISIT(st, expr, returns);
     return 1;
 }
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list