On Tue, 20 Jan 2026 14:47:33 +0200 Gal Pressman wrote: > The __exit__ method receives ex_type as the exception class when an > exception occurs. The previous code used implicit boolean evaluation: > > terminate = self.terminate or (self._exit_wait and ex_type) > ^^^^^^^^^^^ > > In Python, the and operator can be used with non-boolean values, but it > does not always return a boolean result. > > This is probably not what we want, because 'self._exit_wait and ex_type' > could return the actual ex_type value (the exception class) rather than > a boolean True when an exception occurs. > > Use explicit `ex_type is not None` check to properly evaluate whether > an exception occurred, returning a boolean result.
Sure, the checkers complain about this, but I don't see an actual bug here. bool(terminate) must evaluate correctly, we don't compare it to True or False explicitly. To be clear - the patch LGTM, I'm just not connecting the dots on why its a fix at this stage. -- pw-bot: cr
