Skip to content

Typing spec update for exceptions / context managers #27

Closed

Description

@erictraut

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

  • Eric
  • Guido
  • Jelle
  • Rebecca
  • Shantanu

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.

Activity

  1. gvanrossum commented on Apr 20, 2024

    @gvanrossum
    Member

    (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.)

  2. erictraut commented on Apr 22, 2024

    @erictraut
    Author

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

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

  3. rchen152 commented on Apr 22, 2024

    @rchen152
    Collaborator

    No concerns from me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions