diff --git a/include/Continuable.h b/include/Continuable.h index 73d76ce..83d4113 100644 --- a/include/Continuable.h +++ b/include/Continuable.h @@ -340,6 +340,7 @@ namespace detail template struct functional_traits { + /* /// Wrap void returning functionals to returns an empty continuable. template static auto remove_void_trait(_CTy&& functional) @@ -349,30 +350,30 @@ namespace detail typename std::decay<_CTy>::type > >::value, - /*decltype( + decltype( detail::void_wrap_trait< fu::return_type_of_t< typename std::decay<_CTy>::type > >::wrap(std::declval<_CTy>()) ) - */ + decltype( detail::functional_corrector<_CTy>::correct(std::declval<_CTy>()) ) // std::function()> >::type { - /*return detail::void_wrap_trait< + return detail::void_wrap_trait< fu::return_type_of_t< typename std::decay<_CTy>::type > - >::wrap(std::forward<_CTy>(functional));*/ + >::wrap(std::forward<_CTy>(functional)); return detail::functional_corrector<_CTy>::correct(std::forward<_CTy>(functional)); } /// Route continuable returning functionals through. - /*template + template static auto remove_void_trait(_CTy&& functional) -> typename std::enable_if< !std::is_void<