Message379010
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. |
|
Date |
User |
Action |
Args |
2020-10-19 20:34:54 | avrahami.ben | set | recipients:
+ avrahami.ben |
2020-10-19 20:34:54 | avrahami.ben | set | messageid: <1603139694.62.0.339590504513.issue42088@roundup.psfhosted.org> |
2020-10-19 20:34:54 | avrahami.ben | link | issue42088 messages |
2020-10-19 20:34:54 | avrahami.ben | create | |
|