27 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-apple-darwin9 %s -std=c++20 -fsyntax-only -verify2// expected-no-diagnostics3 4#include "Inputs/std-coroutine.h"5 6class invoker {7public:8 class invoker_promise {9 public:10 invoker get_return_object() { return invoker{}; }11 auto initial_suspend() { return std::suspend_never{}; }12 auto final_suspend() noexcept { return std::suspend_never{}; }13 void return_void() {}14 void unhandled_exception() {}15 };16 using promise_type = invoker_promise;17 invoker() {}18 invoker(const invoker &) = delete;19 invoker &operator=(const invoker &) = delete;20 invoker(invoker &&) = delete;21 invoker &operator=(invoker &&) = delete;22};23 24invoker f() {25 co_return;26}27