Recently I was thinking about the place of type comments in Python typing. As far as I am aware, mypy is the only typechecker that remains that still supports Python 2. I expect we will remove support for Python 2 before the end of the year (but we haven't decided anything on that yet).
So what does this mean for type comments? I think it would be best if we no longer needed to support them. However, there are a couple of issues:
1. They are specified in PEP 484 so we would need a new PEP most likely to deprecate/remove them
Yes, there's really no other process right now that we could use to officially deprecate the feature. I'm hoping eventually we'll put together a "typing specification" separate from the PEP texts where we could make a change like this without a need for the full PEP process.
On the substance I agree that there's no need for type comments any more. Type checkers should feel free to deprecate and remove their support (subject to their own deprecation policy and timeline), and code that is intended to be understood by multiple type checkers should not use them.
2. There isn't an obvious replacement for for/with type comments, we'd need to figure out a reasonable replacement.
Do we need a replacement? I have never felt the need to use a type comment for a for or with statement, and I don't recall any user requests around them either. If your `__iter__` and `__enter__` methods are correctly annotated, you shouldn't need a specified type for the for/with target.
Anyway, I thought I'd start this thread to kick off some discussion, I'd love to hear what others think and if people have ideas for syntax for with/for statements.
Typing-sig mailing list -- firstname.lastname@example.org
To unsubscribe send an email to email@example.com
Member address: firstname.lastname@example.org