Skip to content

Commit f454ac4

Browse files
committed
try to make msvc happy
1 parent 5c69c82 commit f454ac4

31 files changed

+288
-380
lines changed

include/exec/finally.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,8 @@ namespace exec {
304304

305305
template <sender _Final>
306306
STDEXEC_ATTRIBUTE(always_inline)
307-
auto operator()(_Final&& __final) const -> __binder_back<finally_t, __decay_t<_Final>> {
308-
return {{static_cast<_Final&&>(__final)}, {}, {}};
307+
auto operator()(_Final&& __final) const {
308+
return __closure(*this, static_cast<_Final&&>(__final));
309309
}
310310

311311
template <class _Sender>

include/exec/into_tuple.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ namespace exec {
101101
}
102102

103103
STDEXEC_ATTRIBUTE(always_inline)
104-
constexpr auto operator()() const noexcept -> __binder_back<into_tuple_t> {
105-
return {{}, {}, {}};
104+
constexpr auto operator()() const noexcept {
105+
return __closure(*this);
106106
}
107107
};
108108
} // namespace __into_tuple

include/exec/materialize.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ namespace exec {
123123
}
124124

125125
STDEXEC_ATTRIBUTE(always_inline)
126-
auto operator()() const noexcept -> __binder_back<__materialize_t> {
127-
return {{}, {}, {}};
126+
auto operator()() const noexcept {
127+
return __closure(*this);
128128
}
129129
};
130130
} // namespace __materialize
@@ -233,8 +233,8 @@ namespace exec {
233233
}
234234

235235
STDEXEC_ATTRIBUTE(always_inline)
236-
auto operator()() const noexcept -> __binder_back<__dematerialize_t> {
237-
return {{}, {}, {}};
236+
auto operator()() const noexcept {
237+
return __closure(*this);
238238
}
239239
};
240240
} // namespace __dematerialize

include/exec/repeat_effect_until.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ namespace exec {
204204
}
205205

206206
STDEXEC_ATTRIBUTE(always_inline)
207-
constexpr auto operator()() const -> __binder_back<repeat_effect_until_t> {
208-
return {{}, {}, {}};
207+
constexpr auto operator()() const {
208+
return __closure(*this);
209209
}
210210

211211
template <class _Sender>
@@ -232,8 +232,8 @@ namespace exec {
232232
}
233233

234234
STDEXEC_ATTRIBUTE(always_inline)
235-
constexpr auto operator()() const -> __binder_back<repeat_effect_t> {
236-
return {{}, {}, {}};
235+
constexpr auto operator()() const {
236+
return __closure(*this);
237237
}
238238

239239
template <class _Sender>

include/exec/repeat_n.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,8 @@ namespace exec {
202202
}
203203

204204
STDEXEC_ATTRIBUTE(always_inline)
205-
constexpr auto
206-
operator()(std::size_t __count) const -> __binder_back<repeat_n_t, std::size_t> {
207-
return {{__count}, {}, {}};
205+
constexpr auto operator()(std::size_t __count) const noexcept {
206+
return __closure(*this, __count);
208207
}
209208

210209
template <class _Sender, bool _NoThrow = __nothrow_decay_copyable<_Sender>>

include/exec/sequence/ignore_all_values.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,8 @@ namespace exec {
308308
}
309309

310310
STDEXEC_ATTRIBUTE(always_inline)
311-
constexpr auto operator()() const noexcept -> __binder_back<ignore_all_values_t> {
312-
return {{}, {}, {}};
311+
constexpr auto operator()() const noexcept {
312+
return __closure(*this);
313313
}
314314
};
315315

include/exec/sequence/merge.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ namespace exec {
8282
struct __combine {
8383
template <class _ReceiverId>
8484
using merge_each_fn_t =
85-
__binder_back<__merge_each_fn<_ReceiverId>, __operation_base<__t<_ReceiverId>>*>;
85+
__closure<__merge_each_fn<_ReceiverId>, __operation_base<__t<_ReceiverId>>*>;
8686

8787
template <class _Sequence, class _ReceiverId>
8888
using transform_sender_t =
@@ -118,7 +118,7 @@ namespace exec {
118118
exec::ignore_all_values(
119119
exec::transform_each(
120120
static_cast<_Sequences&&>(__sequences),
121-
merge_each_fn_t{{this}, {}, {}}))...),
121+
merge_each_fn_t({}, this)))...),
122122
stdexec::__t<__result_receiver<_ReceiverId>>{this})} {
123123
}
124124

@@ -161,7 +161,6 @@ namespace exec {
161161

162162
template <class... _Env>
163163
struct __completions_fn_t {
164-
165164
template <class... _Sequences>
166165
using __f = __meval<
167166
__concat_completion_signatures,

include/exec/sequence/transform_each.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ namespace exec {
161161
template <class _Adaptor>
162162
STDEXEC_ATTRIBUTE(always_inline)
163163
constexpr auto
164-
operator()(_Adaptor __adaptor) const noexcept -> __binder_back<transform_each_t, _Adaptor> {
165-
return {{static_cast<_Adaptor&&>(__adaptor)}, {}, {}};
164+
operator()(_Adaptor&& __adaptor) const noexcept(__nothrow_decay_copyable<_Adaptor>) {
165+
return __closure(*this, static_cast<_Adaptor&&>(__adaptor));
166166
}
167167

168168
template <class _Self, class... _Env>

include/exec/system_context.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -704,11 +704,6 @@ namespace exec {
704704
parallel_scheduler __sched_;
705705
};
706706

707-
template <class _Sender>
708-
struct __not_a_sender {
709-
using sender_concept = stdexec::sender_t;
710-
};
711-
712707
template <__bulk_chunked_or_unchunked _Sender, class _Env>
713708
auto __parallel_scheduler_domain::transform_sender(
714709
stdexec::set_value_t,

include/nvexec/nvtx.cuh

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ namespace nvexec {
117117
STDEXEC_EXPLICIT_THIS_END(connect)
118118

119119
template <__decays_to<__t> Self, class Env>
120-
STDEXEC_EXPLICIT_THIS_BEGIN(auto get_completion_signatures)(this Self&&, Env&&) -> _completion_signatures_t<Self, Env> {
120+
STDEXEC_EXPLICIT_THIS_BEGIN(auto get_completion_signatures)(this Self&&, Env&&)
121+
-> _completion_signatures_t<Self, Env> {
121122
return {};
122123
}
123124
STDEXEC_EXPLICIT_THIS_END(get_completion_signatures)
@@ -140,8 +141,8 @@ namespace nvexec {
140141
}
141142

142143
STDEXEC_ATTRIBUTE(always_inline)
143-
auto operator()(std::string name) const -> stdexec::__binder_back<push_t, std::string> {
144-
return {{std::move(name)}, {}, {}};
144+
auto operator()(std::string name) const {
145+
return stdexec::__closure(*this, std::move(name));
145146
}
146147
};
147148

@@ -152,8 +153,8 @@ namespace nvexec {
152153
}
153154

154155
STDEXEC_ATTRIBUTE(always_inline)
155-
auto operator()() const noexcept -> stdexec::__binder_back<pop_t> {
156-
return {{}, {}, {}};
156+
auto operator()() const noexcept {
157+
return stdexec::__closure(*this);
157158
}
158159
};
159160

@@ -168,13 +169,8 @@ namespace nvexec {
168169

169170
template <stdexec::__sender_adaptor_closure Closure>
170171
STDEXEC_ATTRIBUTE(always_inline)
171-
auto operator()(std::string name, Closure closure) const
172-
-> stdexec::__binder_back<scoped_t, std::string, Closure> {
173-
return {
174-
{std::move(name), static_cast<Closure&&>(closure)},
175-
{},
176-
{}
177-
};
172+
auto operator()(std::string name, Closure closure) const {
173+
return stdexec::__closure(*this, std::move(name), static_cast<Closure&&>(closure));
178174
}
179175
};
180176

0 commit comments

Comments
 (0)