This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author iceboy
Recipients iceboy
Date 2019-01-02.01:04:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1546391073.15.0.462051858565.issue35634@roundup.psfhosted.org>
In-reply-to
Content
Using the multidict package on pypi to illustrate the problem.

Python 3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import multidict
>>> d = multidict.CIMultiDict([('a', 1), ('a', 2)])
>>> def foo(**kwargs): pass
... 
>>> foo(**d)
>>> foo(**{}, **d)

Python 3.6.7 (default, Oct 21 2018, 08:08:16) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import multidict
>>> d = multidict.CIMultiDict([('a', 1), ('a', 2)])
>>> def foo(**kwargs): pass
... 
>>> foo(**d)
>>> foo(**{}, **d)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: foo() got multiple values for keyword argument 'a'

(1) foo(**d)
(2) foo(**{}, **d)

(1) works fine in both versions but (2) only works in Python 3.5 but raises TypeError in Python 3.6. This should be a regression. We should either make both expressions work or raises error.
History
Date User Action Args
2019-01-02 01:04:36iceboysetrecipients: + iceboy
2019-01-02 01:04:33iceboysetmessageid: <1546391073.15.0.462051858565.issue35634@roundup.psfhosted.org>
2019-01-02 01:04:33iceboylinkissue35634 messages
2019-01-02 01:04:32iceboycreate