| // 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; |
| }; |
| } |