Closed as not planned
Description
on python3.10 -W error
this passes:
class ExampleAwaitable:
def __await__(self):
async def _():
return await asyncio.sleep(0)
return _().__await__()
import asyncio
print(f"{asyncio.iscoroutine(ExampleAwaitable())=}")
async def amain():
await asyncio.wait([ExampleAwaitable()])
print("waited!")
asyncio.run(amain())
and in 3.11 this fails:
asyncio.iscoroutine(ExampleAwaitable())=False
Traceback (most recent call last):
File "/home/graingert/projects/foo.py", line 17, in <module>
asyncio.run(amain())
File "/usr/lib/python3.11/asyncio/runners.py", line 187, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 120, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/base_events.py", line 650, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/graingert/projects/foo.py", line 14, in amain
await asyncio.wait([ExampleAwaitable()])
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
return await _wait(fs, timeout, return_when, loop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 531, in _wait
f.add_done_callback(_on_completion)
^^^^^^^^^^^^^^^^^^^
AttributeError: 'ExampleAwaitable' object has no attribute 'add_done_callback'
this broke distributed and we missed the DeprecationWarning because ensure_future accepts a wider variety of objects than just futures tasks and coroutines
the removal happened here 903f0a0