From 369a2aed2b8de02649b555d9353143eba5e7b246 Mon Sep 17 00:00:00 2001 From: ChronoInferna <32346067+ChronoInferna@users.noreply.github.com> Date: Tue, 3 Nov 2026 02:00:57 +0000 Subject: [PATCH 1/2] Add regression test for issue 252 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/beman/execution/CMakeLists.txt | 1 + tests/beman/execution/issue-252.test.cpp | 42 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/beman/execution/issue-252.test.cpp diff --git a/tests/beman/execution/CMakeLists.txt b/tests/beman/execution/CMakeLists.txt index 07e05189..deb1746b 100644 --- a/tests/beman/execution/CMakeLists.txt +++ b/tests/beman/execution/CMakeLists.txt @@ -89,6 +89,7 @@ list( issue-144.test issue-174.test issue-186.test + issue-252.test issue-313.test meta-combine.test meta-contains.test diff --git a/tests/beman/execution/issue-252.test.cpp b/tests/beman/execution/issue-252.test.cpp new file mode 100644 index 00000000..fa5b0ef3 --- /dev/null +++ b/tests/beman/execution/issue-252.test.cpp @@ -0,0 +1,42 @@ +// tests/beman/execution/issue-252.test.cpp -*-C++-*- +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +#include +#ifdef BEMAN_HAS_MODULES +import beman.execution; +#else +#include +#endif + +namespace ex = beman::execution; + +namespace { +struct non_decomposable_sender { + using sender_concept = ex::sender_tag; + + template + static consteval auto get_completion_signatures() -> ex::completion_signatures { + return {}; + } + + non_decomposable_sender(int, int) {} +}; + +struct decomposable_sender { + using sender_concept = ex::sender_tag; + using is_basic_sender_tag = void; + + struct tag {}; + tag tag_value; + int data; +}; +} // namespace + +TEST(issue252) { + static_assert(ex::sender); + static_assert(std::same_as>); + static_assert(std::same_as, + decltype(ex::get_completion_signatures>())>); + + static_assert(std::same_as>); +} From 5120fa62ff2d88d70d12f5bfb3b6b7c064d95ea9 Mon Sep 17 00:00:00 2001 From: Oliver Deng Date: Mon, 2 Nov 2026 21:37:23 -0500 Subject: [PATCH 2/2] test: add in example from issue --- tests/beman/execution/issue-252.test.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/beman/execution/issue-252.test.cpp b/tests/beman/execution/issue-252.test.cpp index fa5b0ef3..fdba5469 100644 --- a/tests/beman/execution/issue-252.test.cpp +++ b/tests/beman/execution/issue-252.test.cpp @@ -34,9 +34,11 @@ struct decomposable_sender { TEST(issue252) { static_assert(ex::sender); - static_assert(std::same_as>); static_assert(std::same_as, decltype(ex::get_completion_signatures>())>); + static_assert(std::same_as>); static_assert(std::same_as>); + + (void)ex::get_completion_signatures>(); }