Josh Rosenberg added the comment:

So just to be clear, the issue with non-string or non-unique keywords is purely 
about performance, right, not correctness/non-crashiness? Non-string keywords, 
while technically accepted by CPython, are at best barely legal by the language 
standard. The language standard for calls specifies that even using the 
**expression syntax "expression must evaluate to a mapping, the contents of 
which are treated as additional keyword arguments" and keywords_arguments only 
allows identifier=expression, where identifier is a legal variable name (and 
therefore, a str).

If misuse of ** unpacking is slower, but still works, and correct usage is 
significantly faster, I wouldn't consider an inability to fix the performance 
for the misuse case a blocking issue; nice to have, but making common, good 
code faster is worth making rare, bad code slower.

----------
nosy: +josh.r

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29358>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to