mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-06 12:54:29 +08:00
Revert trailing comma for 3.6<
This commit is contained in:
@@ -800,18 +800,9 @@ class _ArglistRule(SyntaxRule):
|
||||
|
||||
if argument.type == 'argument':
|
||||
first = argument.children[0]
|
||||
if (
|
||||
argument.children[1].type in _COMP_FOR_TYPES
|
||||
and len(node.children) >= 2
|
||||
):
|
||||
if self._normalizer.version >= (3, 7):
|
||||
return True
|
||||
elif len(node.children) == 2 and node.children[1] == ",":
|
||||
# trailing comma allowed until 3.7
|
||||
pass
|
||||
else:
|
||||
return True
|
||||
|
||||
if argument.children[1].type in _COMP_FOR_TYPES and len(node.children) >= 2:
|
||||
# a(a, b for b in c)
|
||||
return True
|
||||
if first in ('*', '**'):
|
||||
if first == '*':
|
||||
if kw_unpacking_only:
|
||||
|
||||
@@ -378,17 +378,16 @@ def test_repeated_kwarg():
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
('source', 'no_errors', 'version'), [
|
||||
('a(a for a in b,)', True, '3.6'),
|
||||
('a(a for a in b,)', False, '3.7'),
|
||||
('a(a for a in b, a)', False, None),
|
||||
('a(a, a for a in b)', False, None),
|
||||
('a(a, b, a for a in b, c, d)', False, None),
|
||||
('a(a for a in b)', True, None),
|
||||
('a((a for a in b), c)', True, None),
|
||||
('a(c, (a for a in b))', True, None),
|
||||
('a(a, (a for a in b), c)', True, None),
|
||||
('source', 'no_errors'), [
|
||||
('a(a for a in b,)', False),
|
||||
('a(a for a in b, a)', False),
|
||||
('a(a, a for a in b)', False),
|
||||
('a(a, b, a for a in b, c, d)', False),
|
||||
('a(a for a in b)', True),
|
||||
('a((a for a in b), c)', True),
|
||||
('a(c, (a for a in b))', True),
|
||||
('a(a, b, (a for a in b), c, d)', True),
|
||||
]
|
||||
)
|
||||
def test_unparenthesized_genexp(source, no_errors, version):
|
||||
assert bool(_get_error_list(source, version=version)) ^ no_errors
|
||||
def test_unparenthesized_genexp(source, no_errors):
|
||||
assert bool(_get_error_list(source)) ^ no_errors
|
||||
|
||||
Reference in New Issue
Block a user