[Python-Dev] Should assert continue to do a LOAD_GLOBAL on AssertionError? (original) (raw)
Steven D'Aprano steve at pearwood.info
Wed Oct 3 11:59:37 EDT 2018
- Previous message (by thread): [Python-Dev] Petr Viktorin as BDFL-Delegate for PEP 580
- Next message (by thread): [Python-Dev] Should assert continue to do a LOAD_GLOBAL on AssertionError?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 LOAD_GLOBAL 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?
(For example, shadowing iter doesn't effect for loops.)
Thanks,
Steve
- Previous message (by thread): [Python-Dev] Petr Viktorin as BDFL-Delegate for PEP 580
- Next message (by thread): [Python-Dev] Should assert continue to do a LOAD_GLOBAL on AssertionError?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]