New submission from Thomas Caswell:
On the current tip (changeset: 96023:4b5461dcd190) the following results in a
syntax error
def test(a='a', b='b'):
print(a, b)
opta = dict()
optb = dict(a=1, b=2)
test(**(opta or {})) # - works on all python
test(**optb or {})# - fails on current hg tip
This is suspected to be a result of
https://hg.python.org/cpython/rev/a65f685ba8c0
This was reported as an issue against sphinx
(https://github.com/sphinx-doc/sphinx/pull/1889) and I was redirected here.
As suggested by Robert Lehmann suggests the issue is
https://hg.python.org/cpython/rev/a65f685ba8c0#l1.33 which should be `** test`.
Making this change prevents the syntax error (patch attached).
--
components: Interpreter Core
files: unpack_grammar.patch
keywords: patch
messages: 243087
nosy: tcaswell
priority: normal
severity: normal
status: open
title: Incorrect parsing of unpacked expressions in call
type: behavior
versions: Python 3.5
Added file: http://bugs.python.org/file39359/unpack_grammar.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24176
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com