The old code would invoke the handle recursively. The new code returns false from await_suspend, allowing the calling coroutine to resume with no stack consumption. Use [[nodiscard]] to ensure I updated all callers, and to avoid future errors with new callers.
Also remove #ifdefs to work around code generation issues in MSVC versions less than 16.11. If you are on a version that old, you should stick with an older version of C++/WinRT.
The old code would invoke the handle recursively. The new code returns
false
fromawait_suspend
, allowing the calling coroutine to resume with no stack consumption. Use[[nodiscard]]
to ensure I updated all callers, and to avoid future errors with new callers.Also remove
#ifdef
s to work around code generation issues in MSVC versions less than 16.11. If you are on a version that old, you should stick with an older version of C++/WinRT.