bad-exit-annotation (PYI036)
Derived from the flake8-pyi linter.
Fix is sometimes available.
What it does
Checks for incorrect function signatures on __exit__
and __aexit__
methods.
Why is this bad?
Improperly annotated __exit__
and __aexit__
methods can cause
unexpected behavior when interacting with type checkers.
Example
from types import TracebackType
class Foo:
def __exit__(
self, typ: BaseException, exc: BaseException, tb: TracebackType
) -> None: ...
Use instead: