[Python-Dev] Should assert continue to do a LOAD_GLOBAL on AssertionError? (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Wed Oct 3 14:09:42 EDT 2018


On Thu, 4 Oct 2018 01:59:37 +1000 Steven D'Aprano <steve at pearwood.info> wrote:

On the bug tracker, there's a discussion about the current behaviour of the assert statement, where shadowing AssertionError will change the behaviour of the assertion.

https://bugs.python.org/issue34880 Currently, assert does a LOADGLOBAL on AssertionError, which means if you shadow the name, you get a different exception. This behaviour goes back to Python 1.5. I'm looking for guidance here, is this the intended behaviour, or an accident? Should it be changed to better match other builtins?

I would make it an implementation detail myself, i.e. any implementation is free to make it work as it prefers.

Regards

Antoine.



More information about the Python-Dev mailing list