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 josh.r
Recipients josh.r, methane, rhettinger, serhiy.storchaka, vstinner, yselivanov
Date 2017-01-24.19:30:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
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.
Date User Action Args
2017-01-24 19:30:34josh.rsetrecipients: + josh.r, rhettinger, vstinner, methane, serhiy.storchaka, yselivanov
2017-01-24 19:30:34josh.rsetmessageid: <>
2017-01-24 19:30:34josh.rlinkissue29358 messages
2017-01-24 19:30:33josh.rcreate