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 pablogsal
Recipients pablogsal, pfalcon, ppperry, terry.reedy, vstinner
Date 2019-12-30.23:17:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1577747826.71.0.702391102758.issue32615@roundup.psfhosted.org>
In-reply-to
Content
> The doc for exec says globals "must be a dictionary (and not a subclass of dictionary)"

I agree with Terry, the moment you pass a dict subclass to exec you are out of contract. If any, we may need to sanitize the input to exec, although I don't think is worth paying the performance price for that.

> Some smart maintainer closed https://bugs.python.org/issue36220 as a duplicate of this one.

I closed issue36220 as a duplicate. Paul, I don't know if you are being sarcastic here so I will assume that you are not but in case you are, I suggest you stop as this violates our CoC.

> Docs are full of mistakes and outdated information.

They are also full of contracts and as of today, what the docs document is what is considered the public API. 

In any case, my opinion is that LOAD_NAME and LOAD_GLOBAL should not pay the performance price to handle less-specific APIs just to support a very uncommon case (using dict subclasses as globals) that are also out of contract. For STORE_GLOBAL I feel less strongly about that, but I am still -1 on it.
History
Date User Action Args
2019-12-30 23:17:06pablogsalsetrecipients: + pablogsal, terry.reedy, pfalcon, vstinner, ppperry
2019-12-30 23:17:06pablogsalsetmessageid: <1577747826.71.0.702391102758.issue32615@roundup.psfhosted.org>
2019-12-30 23:17:06pablogsallinkissue32615 messages
2019-12-30 23:17:06pablogsalcreate