|
4459 | 4459 | auto&& [_, _, child] = sndr;
|
4460 | 4460 | using V = @\exposid{single-sender-value-type}@<Sndr, Env>;
|
4461 | 4461 | return let_stopped(
|
4462 |
| - then(std::forward_like<Sndr>(child), |
4463 |
| - []<class... Ts>(Ts&&... ts) noexcept(is_nothrow_constructible_v<V, Ts...>) { |
4464 |
| - return optional<V>(in_place, std::forward<Ts>(ts)...); |
4465 |
| - }), |
4466 |
| - []() noexcept { return just(optional<V>()); }); |
| 4462 | + then(std::forward_like<Sndr>(child), |
| 4463 | + []<class... Ts>(Ts&&... ts) noexcept(is_nothrow_constructible_v<V, Ts...>) { |
| 4464 | + return optional<V>(in_place, std::forward<Ts>(ts)...); |
| 4465 | + }), |
| 4466 | + []() noexcept { return just(optional<V>()); }); |
4467 | 4467 | \end{codeblock}
|
4468 | 4468 |
|
4469 | 4469 | \rSec3[exec.stopped.err]{\tcode{execution::stopped_as_error}}
|
|
4501 | 4501 | auto&& [_, err, child] = sndr;
|
4502 | 4502 | using E = decltype(auto(err));
|
4503 | 4503 | return let_stopped(
|
4504 |
| - std::forward_like<Sndr>(child), |
4505 |
| - [err = std::forward_like<Sndr>(err)]() mutable noexcept(is_nothrow_move_constructible_v<E>) { |
4506 |
| - return just_error(std::move(err)); |
4507 |
| - }); |
| 4504 | + std::forward_like<Sndr>(child), |
| 4505 | + [err = std::forward_like<Sndr>(err)]() mutable noexcept(is_nothrow_move_constructible_v<E>) { |
| 4506 | + return just_error(std::move(err)); |
| 4507 | + }); |
4508 | 4508 | \end{codeblock}
|
4509 | 4509 |
|
4510 | 4510 | \rSec2[exec.consumers]{Sender consumers}
|
|
0 commit comments