std1.0.0-beta-7 SafeC docs

std :: async::coro

Macro ASYNC_BEGIN

#include <std/async/coro.h> source

#define ASYNC_BEGIN(state, n) &AsyncResume __async_st = &(state); ASYNC_POINTS_##n##_ switch (*__async_st) { case 0: break; ASYNC_CASES_##n##_ default: std::panic_at("std/async: coroutine polled after it completed", __FILE__, __LINE__); return Poll::pending(); }

'__async_st' aliases the state field; it is declared before the dispatching goto, so it is in scope at every resume label.