@@ -94,6 +94,10 @@ struct value_transform_receiver {
9494 }
9595 }
9696
97+ auto get_env () {
98+ return execution::get_env (dr_);
99+ }
100+
97101private:
98102 Receiver dr_; // Downstream receiver.
99103 [[no_unique_address]] F f_;
@@ -113,6 +117,10 @@ struct void_transform_receiver {
113117 }
114118 }
115119
120+ auto get_env () {
121+ return execution::get_env (dr_);
122+ }
123+
116124private:
117125 Receiver dr_; // Downstream receiver.
118126 [[no_unique_address]] F f_;
@@ -281,6 +289,10 @@ struct [[nodiscard]] repeat_while_operation {
281289 execution::set_value (s->dr_ );
282290 }
283291
292+ auto get_env () {
293+ return execution::get_env (self_->dr_ );
294+ }
295+
284296 private:
285297 repeat_while_operation *self_;
286298 };
@@ -359,6 +371,10 @@ struct race_and_cancel_operation<Receiver, frg::tuple<Functors...>, std::index_s
359371 execution::set_value (self_->r_ );
360372 }
361373
374+ auto get_env () {
375+ return execution::get_env (self_->r_ );
376+ }
377+
362378 private:
363379 race_and_cancel_operation *self_;
364380 };
@@ -595,6 +611,10 @@ struct [[nodiscard]] sequence_operation {
595611 execution::set_value (s->dr_ , std::move (value));
596612 }
597613
614+ auto get_env () {
615+ return execution::get_env (self_->dr_ );
616+ }
617+
598618 private:
599619 sequence_operation *self_;
600620 };
@@ -657,6 +677,10 @@ struct when_all_operation {
657677 execution::set_value (self_->dr_ );
658678 }
659679
680+ auto get_env () {
681+ return execution::get_env (self_->dr_ );
682+ }
683+
660684 private:
661685 when_all_operation *self_;
662686 };
0 commit comments