Hi Rajiv,
On 2016-08-23 10:38 PM, Rajiv Kumar wrote:
Hi Yury,
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.
Thank you,
Yury
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com