What magic generator should I define to make the code below work?
#include <experimental/generator>
std::experimental::generator<int> generateInts()
{
for (int i = 0; i < 10; ++i)
{
co_await some_async_func();
co_yield i;
}
};
with MSVC I get compiler error:
error C2338: co_await is not supported in coroutines of type std::experimental::generator
EDIT1:
The error goes from its await_transform:
template <class _Uty>
_Uty&& await_transform(_Uty&& _Whatever) {
static_assert(_Always_false<_Uty>,
"co_await is not supported in coroutines of type std::experimental::generator");
return _STD forward<_Uty>(_Whatever);
}