@@ -59,10 +59,11 @@ extern __thread pa_time_t pa_current_time_ms;
5959#define _pa_extern
6060#define _pa_has_field_definer (field ) \
6161 namespace proto_activities { \
62+ template < class ... > using void_t = void ; \
6263 template <typename T, typename = void > \
6364 struct has_field_ ##field : std::false_type {}; \
6465 template <typename T> \
65- struct has_field_ ##field<T, std:: void_t <decltype (std::declval<T>().field)>> : std::true_type {}; \
66+ struct has_field_ ##field<T, void_t <decltype (std::declval<T>().field)>> : std::true_type {}; \
6667 }
6768#define _pa_has_field (ty, field ) proto_activities::has_field_##field<ty>::value
6869#endif
@@ -452,10 +453,8 @@ namespace proto_activities {
452453 template <typename T>
453454 auto invoke_resume (T* frame) -> typename std::enable_if<!_pa_has_field(T, _pa_susres)>::type {}
454455}
455- #define _pa_susres_suspend (ty, alias ) \
456- if constexpr (_pa_has_field(ty, _pa_susres)) { proto_activities::invoke_suspend<ty>(_pa_inst_ptr (alias)); }
457- #define _pa_susres_resume (ty, alias ) \
458- if constexpr (_pa_has_field(ty, _pa_susres)) { proto_activities::invoke_resume<ty>(_pa_inst_ptr (alias)); }
456+ #define _pa_susres_suspend (ty, alias ) proto_activities::invoke_suspend<ty>(_pa_inst_ptr(alias));
457+ #define _pa_susres_resume (ty, alias ) proto_activities::invoke_resume<ty>(_pa_inst_ptr(alias));
459458
460459#define pa_susres_res proto_activities::SusRes _pa_susres{};
461460#define pa_suspend pa_self._pa_susres.sus_thunk = [&]()
@@ -470,8 +469,7 @@ namespace proto_activities {
470469 template <typename T>
471470 auto invoke_enter (T& frame) -> typename std::enable_if<!_pa_has_field(T, _pa_enter)>::type {}
472471}
473- #define _pa_enter_invoke (ty ) \
474- if constexpr (_pa_has_field(ty, _pa_enter)) { proto_activities::invoke_enter<ty>(pa_self); }
472+ #define _pa_enter_invoke (ty ) proto_activities::invoke_enter<ty>(pa_self);
475473
476474#define pa_enter_res proto_activities::Enter _pa_enter{};
477475#define pa_enter pa_self._pa_enter = [&]()
0 commit comments