From ce315780f7c0e5fb92aba3f490dac7a18d4512d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dietmar=20K=C3=BChl?= Date: Mon, 1 Sep 2025 00:13:01 +0100 Subject: [PATCH 1/2] =?UTF-8?q?New=20issue=20from=20Dietmar=20K=C3=BChl:?= =?UTF-8?q?=20affine=5Fon=20has=20no=20specification=20for=20the=20default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xml/issue4344.xml | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 xml/issue4344.xml diff --git a/xml/issue4344.xml b/xml/issue4344.xml new file mode 100644 index 0000000000..121f903dc3 --- /dev/null +++ b/xml/issue4344.xml @@ -0,0 +1,56 @@ + + + + +<code>affine_on</code> has no specification for the default +
+Dietmar Kühl +01 Sep 2025 +99 + + +

+The wording of affine_on doesnt have a specification +for the default implementation. For other algorithms the default +implementation is specified. +

+

+The intention for affine_on was to all +optimisation/customisation in a way reducing the necessary scheduling: +if the implementation can determine if a sender completed already +on the correct execution agent it should be allowed to avoid +scheduling. A specification should provide enough lattitude to +allow that. +

+
+ + +

+Add a new paragraph to the specification of affine_on +in [exec.affine.on] providing +a specification for the default implementation: +

+

+

+

+-6- Let sndr and env be subexpressions +such that Sndr is decltype((sndr)). If +sender-for<Sndr, affine_on_t> is false, then the expression +affine_on.transform_sender(sndr, env) is ill-formed; otherwise, it +is equivalent to: + +

+
+  
+auto [_, sch, child] = sndr;
+return transform_sender(
+  query-with-default(get_domain, sch, default_domain()),
+  continues_on(std::move(child), std::move(sch)));
+
+
+

except that sch is only evaluated once.

+
+

+
+ +
From 5243a44a469480fd9ed89b47a25db6aa6afd3a17 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 1 Sep 2025 21:22:16 +0100 Subject: [PATCH 2/2] Update xml/issue4344.xml --- xml/issue4344.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/issue4344.xml b/xml/issue4344.xml index 121f903dc3..99c5531ba6 100644 --- a/xml/issue4344.xml +++ b/xml/issue4344.xml @@ -27,7 +27,7 @@ allow that.

Add a new paragraph to the specification of affine_on -in [exec.affine.on] providing +in providing a specification for the default implementation: