Issue33248
Created on 2018-04-09 10:10 by Jonas Obrist, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| nta.py | Jonas Obrist, 2018-04-09 10:10 | |||
| nta.py | Jonas Obrist, 2018-04-09 10:23 | |||
| Messages (4) | |||
|---|---|---|---|
| msg315119 - (view) | Author: Jonas Obrist (Jonas Obrist) * | Date: 2018-04-09 10:10 | |
The attached code runs fine on MacOS using 3.6.5 from homebrew. However on Windows (I tested on 3.6.4 with the 32bit installer from the website) and Linux (using the python:3.6.5 docker image) it errors with "TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator". On MacOS I tried both _UnixSelectorEventLoop with Kqueue and Select selectors, on Linux _UnixSelectorEventLoop with Epoll and Select. Which behavior is the expected one? As an aside, what I'm trying to achieve is to have an awaitable object that which if unawaited evaluates to False if used in if statements. |
|||
| msg315122 - (view) | Author: Jonas Obrist (Jonas Obrist) * | Date: 2018-04-09 10:23 | |
I've just realized the difference between the environments wasn't the operating system, but PYTHONASYNCIODEBUG. If it is set, the code works, however if it is unset the code does not work. See the updated (attached) code for reference. |
|||
| msg315124 - (view) | Author: Jonas Obrist (Jonas Obrist) * | Date: 2018-04-09 10:53 | |
On 9c463ec88ba21764f6fff8e01d6045a932a89438 (master/3.7) both cases fail to execute. I would argue that this code should be allowed... |
|||
| msg315157 - (view) | Author: Jonas Obrist (Jonas Obrist) * | Date: 2018-04-10 02:04 | |
I realized I have to call __await__ of the inner coroutine object in NonTrueAwaitable.__await__. This is not a bug, but my mistake. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:59 | admin | set | github: 77429 |
| 2018-04-10 02:04:12 | Jonas Obrist | set | status: open -> closed resolution: not a bug messages: + msg315157 stage: resolved |
| 2018-04-09 10:53:28 | Jonas Obrist | set | messages: + msg315124 |
| 2018-04-09 10:23:23 | Jonas Obrist | set | files:
+ nta.py messages:
+ msg315122 |
| 2018-04-09 10:10:20 | Jonas Obrist | create | |