brintos

brintos / llvm-project-archived public Read only

0
0
Text · 701 B · 824dea3 Raw
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