Skip to content

Commit a97cfd8

Browse files
committed
New issue: Decay Data and Child in make-sender
1 parent 34ce074 commit a97cfd8

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

xml/issue4456.xml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?xml version='1.0' encoding='utf-8' standalone='no'?>
2+
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+
<issue num="4456" status="New">
5+
<title>Decay `Data` and `Child` in <i>`make-sender`</i></title>
6+
<section><sref ref="[exec.snd.expos]"/></section>
7+
<submitter>Jonathan Wakely</submitter>
8+
<date>06 Nov 2025</date>
9+
<priority>99</priority>
10+
11+
<discussion>
12+
<b>Addresses <a href="https://github.com/cplusplus/nbballot/issues/926">US 211-351</a></b>
13+
<p>
14+
The <i>Mandates</i>: for <i>`make-sender`</i> defines `Sndr` as a type that
15+
is different from what the <i>Returns</i>: element uses.
16+
</p>
17+
</discussion>
18+
19+
<resolution>
20+
<p>
21+
This wording is relative to <paper num="N5014"/>.
22+
</p>
23+
24+
<ol>
25+
<li><p>Modify <sref ref="[exec.snd.expos]"/>, as indicated:</p>
26+
27+
<blockquote>
28+
<pre>
29+
template&lt;class Tag, class Data = see below, class... Child&gt;
30+
constexpr auto make-sender(Tag tag, Data&amp;&amp; data, Child&amp;&amp;... child);
31+
</pre>
32+
<blockquote>
33+
<p>-24- <i>Mandates</i>: The following expressions are `true`:
34+
<ul>
35+
<li>(24.1) &mdash; <tt>semiregular&lt;Tag&gt;</tt></li>
36+
<li>(24.2) &mdash; <tt><i>movable-value</i>&lt;Data&gt;</tt></li>
37+
<li>(24.3) &mdash; <tt>(sender&lt;Child&gt; &amp;&amp; ...)</tt></li>
38+
<li>(24.4) &mdash;
39+
<tt>dependent_sender&lt;Sndr&gt; || sender_in&lt;Sndr&gt;</tt>,
40+
where `Sndr` is
41+
<tt><i>basic-sender</i>&lt;Tag, <del>Data, Child</del>
42+
<ins>decay_t&lt;Data&gt;, decay_t&lt;Child&gt;</ins>...&gt;</tt>
43+
as defined below.
44+
<blockquote>
45+
<i>Recommended practice</i>:
46+
If evaluation of <tt>sender_in&lt;Sndr&gt;</tt> results in
47+
an uncaught exception from the evaluation of
48+
<code>get_completion_signatures&lt;Sndr&gt;()</code>,
49+
the implementation should include information about that exception
50+
in the resulting diagnostic.
51+
</blockquote>
52+
</li>
53+
</ul>
54+
</p>
55+
<p>-25- <i>Returns</i>:
56+
A prvalue of type
57+
<tt><i>basic-sender</i>&lt;Tag, decay_t&lt;Data&gt;, decay_t&lt;Child&gt;...&gt;</tt>
58+
that has been direct-list-initialized with the forwarded arguments,
59+
where <i>`basic-sender`</i> is the following exposition-only class template
60+
except as noted below.
61+
</p>
62+
</blockquote>
63+
</blockquote>
64+
</li>
65+
</ol>
66+
67+
</resolution>
68+
69+
</issue>

0 commit comments

Comments
 (0)