Add 'named arguments must follow bare *' issue and a few conftest tweaks.

This commit is contained in:
Dave Halter
2017-07-22 19:00:24 +02:00
parent 1b66fa4d44
commit d76eee2a96
4 changed files with 49 additions and 3 deletions

View File

@@ -199,6 +199,13 @@ class ErrorFinder(Normalizer):
and self._context.is_async_funcdef():
yield_ = leaf.parent.parent
self._add_syntax_error("'yield from' inside async function", yield_)
elif leaf.value == '*':
params = leaf.parent
if params.type == 'parameters' and params:
after = params.children[params.children.index(leaf) + 1:]
after = [child for child in after if child not in (',', ')')]
if len(after) == 0:
self._add_syntax_error("named arguments must follow bare *", leaf)
return ''
def _add_indentation_error(self, message, spacing):