https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101027
Moritz Sichert <sichert at in dot tum.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sichert at in dot tum.de
--- Comment #2 from Moritz Sichert <sichert at in dot tum.de> ---
Created attachment 55677
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55677&action=edit
Coroutine that segfaults because it does not short-circuit
I have encountered the same problem where co_await in a logical operation does
not short-circuit correctly. See the attached example.
The code segfaults because in the condition "foo && co_await foo->foo(123)" it
starts executing the coroutine even if foo is nullptr. For some reason the
error only occurs if the condition is nested in a logical-|| expression.