@@ -18,18 +18,18 @@ Imported from <a href="https://github.com/cplusplus/sender-receiver/issues/304">
18
18
<pre ><code >
19
19
[]< class Tag, class... Args> (auto, auto& state, auto& rcvr, Tag, Args&& ... args) noexcept
20
20
-> void {
21
- using result_t = decayed-tuple< Tag, Args...> ;
21
+ using result_t = < i > decayed-tuple</ i > < Tag, Args...> ;
22
22
constexpr bool nothrow = is_nothrow_constructible_v< result_t, Tag, Args...> ;
23
23
24
24
try {
25
- state.async-result.template emplace< result_t> (Tag(), std::forward< Args> (args)...);
25
+ state.< i > async-result</ i > .template emplace< result_t> (Tag(), std::forward< Args> (args)...);
26
26
} catch (...) {
27
27
if constexpr (!nothrow) {
28
28
set_error(std::move(rcvr), current_exception());
29
29
return;
30
30
}
31
31
}
32
- start(state.op-state);
32
+ start(state.< i > op-state</ i > );
33
33
};
34
34
</code ></pre >
35
35
@@ -42,18 +42,17 @@ The right thing, i think, is to catch the exception, emplace the `exception_ptr`
42
42
<pre ><code >
43
43
[]< class Tag, class... Args> (auto, auto& state, auto& rcvr, Tag, Args&& ... args) noexcept
44
44
-> void {
45
- using result_t = decayed-tuple< Tag, Args...> ;
45
+ using result_t = < i > decayed-tuple</ i > < Tag, Args...> ;
46
46
constexpr bool nothrow = is_nothrow_constructible_v< result_t, Tag, Args...> ;
47
47
48
48
try {
49
- state.async-result.template emplace< result_t> (Tag(), std::forward< Args> (args)...);
49
+ state.< i > async-result</ i > .template emplace< result_t> (Tag(), std::forward< Args> (args)...);
50
50
} catch(...) {
51
- if constexpr (nothrow)
52
- state.async-result.template emplace< tuple< set_error_t, exception_ptr>> (set_error, current_exception());
53
- }
51
+ if constexpr (!nothrow)
52
+ state.<i >async-result</i >.template emplace< tuple< set_error_t, exception_ptr>> (set_error, current_exception());
54
53
}
55
54
56
- start(state.op-state);
55
+ start(state.< i > op-state</ i > );
57
56
}
58
57
</code ></pre >
59
58
@@ -96,6 +95,11 @@ except with duplicate types removed.
96
95
Set priority to 1 after reflector poll.
97
96
</p >
98
97
98
+ <note >Hagenberg 2025-02-10; LWG</note >
99
+ <p >
100
+ Direction seems right. Decay-copyable is not a defined term.
101
+ </p >
102
+
99
103
</discussion >
100
104
101
105
<resolution >
0 commit comments