New submission from Denis S. Otkidach <[email protected]>:
Test script:
-->8--
import asyncio
@asyncio.coroutine
def test():
with (yield from asyncio.Lock()):
pass
asyncio.run(test())
-->8--
Correct behavior without flag (warning is reported and points to correct line
of code):
---
$ python test.py
test.py:5: DeprecationWarning: 'with (yield from lock)' is deprecated use
'async with lock' instead
with (yield from asyncio.Lock()):
---
Setting PYTHONASYNCIODEBUG flag disables warning:
---
$ PYTHONASYNCIODEBUG=1 python test.py
$
---
Warning is back explicitly turned on, but points to incorrect position in stack:
---
$ PYTHONASYNCIODEBUG=1 python -Wall test.py
lib/python3.8/asyncio/coroutines.py:58: DeprecationWarning: 'with (yield from
lock)' is deprecated use 'async with lock' instead
return self.gen.send(None)
---
Another way to enable debugging doesn't disable warnings, but break its
location too:
---
$ python -Xdev test.py
lib/python3.8/asyncio/coroutines.py:58: DeprecationWarning: 'with (yield from
lock)' is deprecated use 'async with lock' instead
return self.gen.send(None)
---
----------
components: asyncio
messages: 337366
nosy: asvetlov, ods, yselivanov
priority: normal
severity: normal
status: open
title: Setting PYTHONASYNCIODEBUG breaks warnings
type: behavior
versions: Python 3.7, Python 3.8
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue36221>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com