From 9165f77d5f93a2c12aa0e90853e3ae7212800d3c Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 15 Nov 2017 08:49:40 +0200 Subject: bpo-32012: Disallow trailing comma after genexpr without parenthesis. (#4382) --- Lib/test/test_syntax.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Lib/test/test_syntax.py') diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 5d36581859..c8cb7055c0 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -125,17 +125,32 @@ SyntaxError: invalid syntax From ast_for_call(): ->>> def f(it, *varargs): +>>> def f(it, *varargs, **kwargs): ... return list(it) >>> L = range(10) >>> f(x for x in L) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> f(x for x in L, 1) Traceback (most recent call last): -SyntaxError: Generator expression must be parenthesized if not sole argument +SyntaxError: Generator expression must be parenthesized +>>> f(x for x in L, y=1) +Traceback (most recent call last): +SyntaxError: Generator expression must be parenthesized +>>> f(x for x in L, *[]) +Traceback (most recent call last): +SyntaxError: Generator expression must be parenthesized +>>> f(x for x in L, **{}) +Traceback (most recent call last): +SyntaxError: Generator expression must be parenthesized +>>> f(L, x for x in L) +Traceback (most recent call last): +SyntaxError: Generator expression must be parenthesized >>> f(x for x in L, y for y in L) Traceback (most recent call last): -SyntaxError: Generator expression must be parenthesized if not sole argument +SyntaxError: Generator expression must be parenthesized +>>> f(x for x in L,) +Traceback (most recent call last): +SyntaxError: Generator expression must be parenthesized >>> f((x for x in L), 1) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -- cgit v1.2.1