Skip to content

Commit cc30524

Browse files
committed
receiver_adaptor's customization of get_env should be unconditionally noexcept
1 parent cb283cc commit cc30524

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

execution.bs

+5-11
Original file line numberDiff line numberDiff line change
@@ -7512,8 +7512,7 @@ template<class Domain, class Tag, sender Sndr, class... Args>
75127512

75137513
friend void tag_invoke(set_stopped_t, Derived&& self) noexcept;
75147514

7515-
friend decltype(auto) tag_invoke(get_env_t, const Derived& self)
7516-
noexcept(<i>see below</i>);
7515+
friend decltype(auto) tag_invoke(get_env_t, const Derived& self) noexcept;
75177516

75187517
[[no_unique_address]] Base base_; // present if and only if <i>HAS-BASE</i> is true
75197518
};
@@ -7593,24 +7592,19 @@ template&lt;class Domain, class Tag, sender Sndr, class... Args>
75937592
* Otherwise, <code>set_stopped(<i>GET-BASE</i>(std::move(self)))</code>.
75947593

75957594
<pre highlight="c++">
7596-
friend decltype(auto) tag_invoke(get_env_t, const Derived& self)
7597-
noexcept(<i>see below</i>);
7595+
friend decltype(auto) tag_invoke(get_env_t, const Derived& self) noexcept;
75987596
</pre>
75997597

76007598
1. <i>Constraints:</i> Either `self.get_env()` is a valid expression or `typename Derived::get_env` denotes a type and <code><i>callable</i>&lt;get_env_t, <i>BASE-TYPE</i>(const Derived&)></code> is `true`.
76017599

7602-
2. <i>Effects:</i> Equivalent to:
7600+
2. <i>Mandates:</i> `noexcept(self.get_env())` is `true` if it is a valid expression.
7601+
7602+
3. <i>Effects:</i> Equivalent to:
76037603

76047604
* If `self.get_env()` is a valid expression, `self.get_env()`;
76057605

76067606
* Otherwise, <code>get_env(<i>GET-BASE</i>(self))</code>.
76077607

7608-
3. <i>Remarks:</i> The expression in the `noexcept` clause is:
7609-
7610-
* If `self.get_env()` is a valid expression, `noexcept(self.get_env())`;
7611-
7612-
* Otherwise, <code>noexcept(get_env(<i>GET-BASE</i>(self)))</code>.
7613-
76147608
### `execution::completion_signatures` <b>[exec.utils.cmplsigs]</b> ### {#spec-execution.snd_rec_utils.completion_sigs}
76157609

76167610
1. `completion_signatures` is a type that encodes a set of completion signatures

0 commit comments

Comments
 (0)