Skip to content

Commit b860d62

Browse files
committed
New issue from Eric Niebler: specification of as-sndr2(Sig) in [exec.let] is incomplete
1 parent f88db0e commit b860d62

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

xml/issue4204.xml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version='1.0' encoding='utf-8' standalone='no'?>
2+
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+
<issue num="4204" status="New">
5+
<title>specification of <code><i>as-sndr2</i>(Sig)</code> in [exec.let] is incomplete</title>
6+
<section><sref ref="[exec.let]"/></section>
7+
<submitter>Eric Niebler</submitter>
8+
<date>03 Feb 2025</date>
9+
<priority>99</priority>
10+
11+
<discussion>
12+
<p>
13+
<sref ref="[exec.let]"/>/p9 reads:
14+
<blockquote>
15+
Given a type `Tag` and a pack `Args`, let <code><i>as-sndr2</i></code>
16+
be an alias template such that
17+
<code><i>as-sndr2</i>&lt;Tag(Args...)&gt;</code>
18+
denotes the type
19+
<code><i>call-result-t</i>&lt;Fn, decay_t&lt;Args&gt;&amp;...&gt;</code>.
20+
Then `ops2_variant_t` denotes the type
21+
<pre><code> variant&lt;monostate, connect_result_t&lt;<i>as-sndr2</i>&lt;LetSigs&gt;, receiver2&lt;Rcvr, Env&gt;&gt;...&gt;
22+
</code></pre>
23+
except with duplicate types removed.
24+
</blockquote>
25+
26+
The type `Env` is not specified. It should be `env_t` from paragraph 7.
27+
</p>
28+
<p>
29+
Paragraphs 8, 9, and 10 only make sense in relation to the lambda in paragraph 7,
30+
but that is not at all clear from the current wording.
31+
I suggest making paragraphs 8, 9, and 10 sub-bullets of paragraph 7.
32+
</p>
33+
</discussion>
34+
35+
<resolution>
36+
<p>
37+
This wording is relative to <paper num="N5001"/>.
38+
</p>
39+
<ol>
40+
<li>
41+
Change <sref ref="[exec.let]"/> as indicated,
42+
and nest paragraphs 8, 9, and 10 below paragraph 7:
43+
44+
<blockquote>
45+
-9-
46+
Given a type `Tag` and a pack `Args`, let <code><i>as-sndr2</i></code>
47+
be an alias template such that
48+
<code><i>as-sndr2</i>&lt;Tag(Args...)&gt;</code>
49+
denotes the type
50+
<code><i>call-result-t</i>&lt;Fn, decay_t&lt;Args&gt;&amp;...&gt;</code>.
51+
Then `ops2_variant_t` denotes the type
52+
<pre><code> variant&lt;monostate, connect_result_t&lt;<i>as-sndr2</i>&lt;LetSigs&gt;, receiver2&lt;Rcvr, <del>Env</del><ins>env_t</ins>&gt;&gt;...&gt;
53+
</code></pre>
54+
except with duplicate types removed.
55+
</blockquote>
56+
57+
</li>
58+
</ol>
59+
</resolution>
60+
61+
</issue>

0 commit comments

Comments
 (0)