-
Notifications
You must be signed in to change notification settings - Fork 225
Open
Description
Trying to compile the following
#include <stdexec/execution.hpp>
#include <print>
int main() {
std::println("hello stdexec");
}with 71d22ca stdexec and gcc 16, I see
# compile commabug/commabug.o
/usr/local/gcc/bin/g++ -O2 -fPIE -g -Werror -std=c++26 -I/usr/src/local/stdexec/include -c commabug.cc
In file included from /usr/src/local/stdexec/include/stdexec/__detail/__bulk.hpp:28,
from /usr/src/local/stdexec/include/stdexec/execution.hpp:23,
from commabug.cc:1:
/usr/src/local/stdexec/include/stdexec/__detail/__senders.hpp:159:50: error: omission of ',' before varargs '...' is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission]
159 | constexpr auto operator()(_Sender&&, _Env&&...) const noexcept
| ^~~
| ,
In file included from /usr/src/local/stdexec/include/stdexec/execution.hpp:39:
/usr/src/local/stdexec/include/stdexec/__detail/__let.hpp:616:52: error: omission of ',' before varargs '...' is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission]
616 | []<class _Self, class _Env>(_Self&&, _Env&&...) noexcept {
| ^~~
| ,
cc1plus: all warnings being treated as errors
*** Error code 1If I simply do as it says and apply
diff --git a/include/stdexec/__detail/__let.hpp b/include/stdexec/__detail/__let.hpp
index 9d40410f..fca43433 100644
--- a/include/stdexec/__detail/__let.hpp
+++ b/include/stdexec/__detail/__let.hpp
@@ -613,7 +613,7 @@ namespace stdexec {
};
static constexpr auto get_completion_signatures =
- []<class _Self, class _Env>(_Self&&, _Env&&...) noexcept {
+ []<class _Self, class _Env>(_Self&&, _Env&&, ...) noexcept {
static_assert(sender_expr_for<_Self, __let_tag<_SetTag>>);
if constexpr (__decay_copyable<_Self>) {
using __fn_t = __decay_t<__fun_of<_Self>>;
diff --git a/include/stdexec/__detail/__senders.hpp b/include/stdexec/__detail/__senders.hpp
index 87f1cf81..75ac6e6b 100644
--- a/include/stdexec/__detail/__senders.hpp
+++ b/include/stdexec/__detail/__senders.hpp
@@ -156,7 +156,7 @@ namespace stdexec {
requires __callable<__mtypeof<_DeclFn>>
|| __with_legacy_tag_invoke<__tfx_sender<_Sender, _Env>, _Env>
[[deprecated("the use of tag_invoke for get_completion_signatures is deprecated")]]
- constexpr auto operator()(_Sender&&, _Env&&...) const noexcept
+ constexpr auto operator()(_Sender&&, _Env&&, ...) const noexcept
-> tag_invoke_result_t<get_completion_signatures_t, __tfx_sender<_Sender, _Env>, _Env> {
return {};
}then it compiles successfully.
Metadata
Metadata
Assignees
Labels
No labels