blob: 3f435044e41e33e29a26523f5bdfa0b4288820a0 [file] [log] [blame]
#include <coroutine>
struct coroutine {
struct promise_type {
auto get_return_object() { return coroutine(); }
auto initial_suspend() { return std::suspend_always(); }
auto yield_value(int) { return std::suspend_always(); }
void return_void() {}
auto final_suspend() noexcept { return std::suspend_always(); }
void unhandled_exception() {}
};
};
int main() {
auto f = [](auto max) -> coroutine {
for (int i = 0; i < max; ++i) {
co_yield i;
}
};
f(10);
// From PR98976
auto foo = [](auto&&) -> coroutine {
switch (42) {
case 42:
co_return;
}
};
foo(1);
}