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 avrahami.ben
Recipients avrahami.ben
Date 2020-10-19.20:34:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1603139694.62.0.339590504513.issue42088@roundup.psfhosted.org>
In-reply-to
Content
According to the documentation for types.SimpleNamespace, `repr(SimpleNamespace())` should return `"SimpleNamespace()"`, but in actuality returns `"namespace()"`. This is because SimpleNamespace is an alias for the C implemented type `_PyNamespaceObject`. Interestingly, `_PyNamespaceObject` names itself `"types.SimpleNamespace"`. This has the obvious issue of the documentation being wrong, but also the (perhaps less interesting issue) of `eval(repr(SimpleNamespace))` resulting in a NameError.

I propose that `_PyNamespaceObject`'s __repr__ method be changed to return `"SimpleNamespace(<args>)"`. This would require only the change of a constant in one line (currently this is line 75 on namespaceobject.c).

A smaller fix would be to change the documentation to correctly reflect this behavior.
History
Date User Action Args
2020-10-19 20:34:54avrahami.bensetrecipients: + avrahami.ben
2020-10-19 20:34:54avrahami.bensetmessageid: <1603139694.62.0.339590504513.issue42088@roundup.psfhosted.org>
2020-10-19 20:34:54avrahami.benlinkissue42088 messages
2020-10-19 20:34:54avrahami.bencreate