diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2005-10-21 06:24:02 +0000 |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2005-10-21 06:24:02 +0000 |
commit | 37c0844b35b9a4d68f7ddf3a8b38d3e013f17d78 (patch) | |
tree | 345859c3266fdc71bf64f076ed16507c2d3051de /Grammar | |
parent | c0d5faa9b4a763befbeab0159d2241a9ddf85b56 (diff) | |
download | cpython-git-37c0844b35b9a4d68f7ddf3a8b38d3e013f17d78.tar.gz |
Fix SF bug #1167751, Argument genexp corner case
Incorrect code was generated for:
foo(a = i for i in range(10))
This should have generated a SyntaxError. Fix the Grammar so
it raises a SyntaxError and test it.
I'm uncertain whether this should be backported. It makes
something that was Syntactically valid invalid. However,
the code would either be completely broken or do the wrong thing.
Diffstat (limited to 'Grammar')
-rw-r--r-- | Grammar/Grammar | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Grammar/Grammar b/Grammar/Grammar index 01e4afd6fc..d8106e9719 100644 --- a/Grammar/Grammar +++ b/Grammar/Grammar @@ -102,7 +102,7 @@ dictmaker: test ':' test (',' test ':' test)* [','] classdef: 'class' NAME ['(' [testlist] ')'] ':' suite arglist: (argument ',')* (argument [',']| '*' test [',' '**' test] | '**' test) -argument: [test '='] test [gen_for] # Really [keyword '='] test +argument: test [gen_for] | test '=' test ['(' gen_for ')'] # Really [keyword '='] test list_iter: list_for | list_if list_for: 'for' exprlist 'in' testlist_safe [list_iter] |