diff --git a/include/fc/thread/task.hpp b/include/fc/thread/task.hpp index 9ddf4b3..f7c2ec5 100644 --- a/include/fc/thread/task.hpp +++ b/include/fc/thread/task.hpp @@ -123,8 +123,6 @@ namespace fc { return ptr( new task( std::move(f), desc ) ); } virtual void cancel(const char* reason FC_CANCELATION_REASON_DEFAULT_ARG) override { task_base::cancel(reason); } - - alignas(double) char _functor[FunctorSize]; private: template task( Functor&& f, const char* desc ):promise_base(desc), task_base(&_functor), promise(desc) { @@ -136,6 +134,8 @@ namespace fc { _promise_impl = static_cast*>(this); _run_functor = &detail::functor_run::run; } + + alignas(double) char _functor[FunctorSize]; }; template @@ -151,8 +151,6 @@ namespace fc { return ptr( new task( std::move(f), desc ) ); } virtual void cancel(const char* reason FC_CANCELATION_REASON_DEFAULT_ARG) override { task_base::cancel(reason); } - - alignas(double) char _functor[FunctorSize]; private: template task( Functor&& f, const char* desc ):promise_base(desc), task_base(&_functor), promise(desc) { @@ -164,6 +162,8 @@ namespace fc { _promise_impl = static_cast*>(this); _run_functor = &detail::void_functor_run::run; } + + alignas(double) char _functor[FunctorSize]; }; }