Skip to content

Commit 4eae817

Browse files
committed
New issue from Eric Niebler: "Remove test for get_env noexcept-ness from inline_scheduler"
1 parent e766b5d commit 4eae817

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

xml/issue4471.xml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?xml version='1.0' encoding='utf-8' standalone='no'?>
2+
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+
<issue num="4471" status="New">
5+
<title>Remove test for `get_env noexcept`-ness from `inline_scheduler`</title>
6+
<section><sref ref="[exec.inline.scheduler]"/></section>
7+
<submitter>Eric Niebler</submitter>
8+
<date>05 Nov 2025</date>
9+
<priority>99</priority>
10+
11+
<discussion>
12+
<p>
13+
<sref ref="[exec.inline.scheduler]"/> bullet (3.2) reads:
14+
</p>
15+
<blockquote>
16+
<ul style="list-style-type: none">
17+
<li>(3.2) &mdash;
18+
the expression <tt>get_completion_scheduler&lt;set_value_t&gt;(get_env(sndr))</tt> has type
19+
`inline_scheduler` and is potentially-throwing if and only if `get_env(sndr)` is potentially-throwing.
20+
</li>
21+
</ul>
22+
</blockquote>
23+
<p>
24+
`get_env(sndr)` is never potentially-throwing because it mandates that `sndr.get_env()` cannot throw,
25+
see <sref ref="[exec.get.env]"/>.
26+
<p/>
27+
also, <tt>get_completion_scheduler&lt;set_*_t&gt;(attrs)</tt> mandates that
28+
<tt>attrs.query(get_completion_scheduler&lt;set_*_t&gt;)</tt> cannot throw.
29+
</p>
30+
</discussion>
31+
32+
<resolution>
33+
<p>
34+
This wording is relative to <paper num="N5014"/>.
35+
</p>
36+
37+
<ol>
38+
<li><p>Modify <sref ref="[exec.inline.scheduler]"/> as indicated:</p>
39+
40+
<blockquote>
41+
<p>
42+
-3- Let `sndr` be an expression of type <tt><i>inline-sender</i></tt>, let `rcvr` be an expression such that
43+
<tt>receiver_of&lt;decltype((rcvr)), CS&gt;</tt> is `true` where `CS` is <tt>completion_signatures&lt;set_value_t()&gt;</tt>,
44+
then:
45+
</p>
46+
<ul style="list-style-type: none">
47+
<li>(3.1) &mdash;
48+
the expression `connect(sndr, rcvr)` has type <tt><i>inline-state</i>&lt;remove_cvref_t&lt;decltype((rcvr))&gt;&gt;</tt>
49+
and is potentially-throwing if and only if `((void)sndr, auto(rcvr))` is potentially-throwing, and
50+
</li>
51+
<li>(3.2) &mdash;
52+
the expression <tt>get_completion_scheduler&lt;set_value_t&gt;(get_env(sndr))</tt> has type
53+
`inline_scheduler` <del>and is potentially-throwing if and only if `get_env(sndr)` is potentially-throwing</del>.
54+
</li>
55+
</ul>
56+
57+
</blockquote>
58+
</li>
59+
</ol>
60+
</resolution>
61+
62+
</issue>

0 commit comments

Comments
 (0)