Re: [Twisted-Python] Twisted 21.7.0 Pre-Release Announcement

2021-07-16 Thread Glyph


> On Jul 16, 2021, at 2:20 AM, Richard van der Hoff  wrote:
> 
> On 16/07/2021 00:18, Glyph wrote:
> 
>> 
>> 
>>> On Jul 15, 2021, at 9:00 AM, Richard van der Hoff >> > wrote:
>>> 
>>> We can't just go and add type annotations because we need to maintain 
>>> compatibility with older Twisted (to make it possible to package in Debian 
>>> et al).
>>> 
>>> Any suggestions for keeping mypy happy?
>>> 
>> 
>> Are you saying you need it to typecheck against older versions or just run 
>> against them?
> Ah, this gave me the clue I needed. We just need to run against them. Which 
> means I can put type hints in comments, where they will be ignored at 
> runtime. It's fiddly, but it will work well enough.
> 
You can also do 'from __future__ import annotations' to avoid the annotations 
getting evaluated, which might be slightly less awkward.
> Thanks Glyph, and thanks to Adi and Barry for your suggestions too.
> 
> One particular problem I came across was the type annotation on 
> inlineCallbacks. I've filed https://twistedmatrix.com/trac/ticket/10231 
>  about it - would appreciate 
> thoughts.
> 

This definitely looks wrong; there should be a TypeVar in there.  Adi, I'd go 
so far as to say that this should be a release blocker, although the change 
should be fairly minimal.

Richard, could you please make a proper PR for this to get CI kicked off and 
make sure the new annotation doesn't cause any failures?

-g

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Twisted 21.7.0 Pre-Release Announcement

2021-07-16 Thread Richard van der Hoff

On 16/07/2021 00:18, Glyph wrote:




On Jul 15, 2021, at 9:00 AM, Richard van der Hoff > wrote:


We can't just go and add type annotations because we need to maintain 
compatibility with older Twisted (to make it possible to package in 
Debian et al).


Any suggestions for keeping mypy happy?

Are you saying you need it to typecheck against older versions or just 
run against them?


Ah, this gave me the clue I needed. We just need to run against them. 
Which means I can put type hints in comments, where they will be ignored 
at runtime. It's fiddly, but it will work well enough.


Thanks Glyph, and thanks to Adi and Barry for your suggestions too.

One particular problem I came across was the type annotation on 
inlineCallbacks. I've filed https://twistedmatrix.com/trac/ticket/10231 
about it - would appreciate thoughts.




___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python