Message286207
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:34 | josh.r | set | recipients:
+ josh.r, rhettinger, vstinner, methane, serhiy.storchaka, yselivanov |
2017-01-24 19:30:34 | josh.r | set | messageid: <1485286234.03.0.249321340141.issue29358@psf.upfronthosting.co.za> |
2017-01-24 19:30:34 | josh.r | link | issue29358 messages |
2017-01-24 19:30:33 | josh.r | create | |
|