// RUN: %clang_cc1 -fsyntax-only -Wunused-parameter -verify -std=c++20 %s #include "Inputs/std-coroutine.h" struct awaitable { bool await_ready() noexcept; void await_resume() noexcept; void await_suspend(std::coroutine_handle<>) noexcept; }; struct task : awaitable { struct promise_type { task get_return_object() noexcept; awaitable initial_suspend() noexcept; awaitable final_suspend() noexcept; void unhandled_exception() noexcept; void return_void() noexcept; }; }; task foo(int a) { // expected-warning{{unused parameter 'a'}} co_return; } task bar(int a, int b) { // expected-warning{{unused parameter 'b'}} a = a + 1; co_return; } void create_closure() { auto closure = [](int c) -> task { // expected-warning{{unused parameter 'c'}} co_return; }; }