[Python-Dev] PEP 525

Yury Selivanov yselivanov.ml at gmail.com
Wed Aug 24 15:05:02 EDT 2016


On 2016-08-24 3:01 PM, Sven R. Kunze wrote:

> On 24.08.2016 18:35, Guido van Rossum wrote:
>> On Wed, Aug 24, 2016 at 8:17 AM, Yury Selivanov 
>> <yselivanov.ml at gmail.com <mailto:yselivanov.ml at gmail.com>> wrote:
>>
>>     On 2016-08-23 10:38 PM, Rajiv Kumar wrote:
>>
>>         I was playing with your implementation to gain a better
>>         understanding of the operation of asend() and friends. Since
>>         I was explicitly trying to "manually" advance the generators,
>>         I wasn't using asyncio or other event loop. This meant that
>>         the first thing I ran into with my toy code was the
>>         RuntimeError ("cannot iterate async generator without
>>         finalizer set").
>>
>>         As you have argued elsewhere, in practice the finalizer is
>>         likely to be set by the event loop. Since the authors of
>>         event loops are likely to know that they should set the
>>         finalizer, would it perhaps be acceptable to merely issue a
>>         warning instead of an error if the finalizer is not set? That
>>         way there isn't an extra hoop to jump through for simple
>>         examples.
>>
>>         In my case, I just called
>>             sys.set_asyncgen_finalizer(lambda g: 1)
>>         to get around the error and continue playing :) (I realize
>>         that's a bad thing to do but it didn't matter for the toy cases)
>>
>>
>>     Yeah, maybe warning would be sufficient.  I just find it's highly
>>     unlikely that a lot of people would use async generators without
>>     a loop/coroutine runner, as it's a very tedious process.
>>
>>
>> Heh, I had the same reaction as Rajiv. I think the tediousness is 
>> actually a good argument that there's no reason to forbid this. I 
>> don't even think a warning is needed. People who don't use a 
>> coroutine runner are probably just playing around (maybe even in the 
>> REPL) and they shouldn't get advice unasked.
>
> I also was irritated as Yury said there were absolutely no changes 
> after python-ideas. He said he might consider a clearer warning for 
> those examples at the beginning of the PEP to make them work for the 
> reader.

Sorry for making you irritated.  Please feel free to remind me about any 
concrete changes to the PEP that I promised to add on python-ideas.  
I'll go and re-read that thread right now anyways.

Yury


More information about the Python-Dev mailing list