// RUN: %clang_cc1 %s -std=c++20 -fsyntax-only -Wno-vla-cxx-extension -verify #include "Inputs/std-coroutine.h" struct promise; struct coroutine : std::coroutine_handle { using promise_type = ::promise; }; struct promise { coroutine get_return_object(); std::suspend_always initial_suspend() noexcept; std::suspend_always final_suspend() noexcept; void return_void(); void unhandled_exception(); }; coroutine foo(int n) { int array[n]; // expected-error {{variable length arrays in a coroutine are not supported}} co_return; } void lambda() { [](int n) -> coroutine { int array[n]; // expected-error {{variable length arrays in a coroutine are not supported}} co_return; }(10); }