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 serhiy.storchaka
Recipients brett.cannon, larry, ncoghlan, pdmccormick, serhiy.storchaka, yselivanov, zach.ware
Date 2015-04-23.08:49:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1429778992.97.0.394094881761.issue23967@psf.upfronthosting.co.za>
In-reply-to
Content
Using complex expressions is deceitful. In Python functions the default value is evaluated only once, at function creation time, but inspect.signature will evaluate it every time. For example foo(x={}) and foo(x=dict()) means the same in function declaration, but different in signature.

It could also affect security, because allow arbitrary code execution at the place where it was not allowed before.

I think this issue should be discussed on Python-Dev. I'm not sure that it is pythonic.
History
Date User Action Args
2015-04-23 08:49:53serhiy.storchakasetrecipients: + serhiy.storchaka, brett.cannon, ncoghlan, larry, zach.ware, yselivanov, pdmccormick
2015-04-23 08:49:52serhiy.storchakasetmessageid: <1429778992.97.0.394094881761.issue23967@psf.upfronthosting.co.za>
2015-04-23 08:49:52serhiy.storchakalinkissue23967 messages
2015-04-23 08:49:52serhiy.storchakacreate