python / typing-council

Decisions by the Python Typing Council
41 stars 3 forks source link

Typing spec update for exceptions / context managers #27

Closed erictraut closed 4 months ago

erictraut commented 4 months ago

I'd like to request that the TC consider adoption of a new (small) chapter in the typing spec that spells out the type checking behaviors for context managers — specifically, how to use the return type of __exit__ to determine whether a context manager suppresses exceptions.

Links to PR & Discussion The PR can be found here. It incorporates feedback from PR reviewers.

The discussion can be found here.

TC Sign-off

Current Type Checker Behaviors The specified behavior is consistent with the current behavior of mypy and pyright. It is also consistent with assumptions that are baked into typeshed stubs. I haven't done detailed testing on pyre or pytype, but given that they leverage typeshed stubs, they likely conform.

gvanrossum commented 4 months ago

(While I didn't approve the PR yet, my feedback there is just two nits, and even if you didn't address those I'm happy with this chapter, as it describes existing practice.)

erictraut commented 4 months ago

@gvanrossum, thanks for the feedback. I've incorporated your suggestions.

@rchen152, let me know if you have any concerns or feedback.

rchen152 commented 4 months ago

No concerns from me.