diff --git a/include/boost/asio/impl/compose.hpp b/include/boost/asio/impl/compose.hpp index e7b74952..fc8f6757 100644 --- a/include/boost/asio/impl/compose.hpp +++ b/include/boost/asio/impl/compose.hpp @@ -496,14 +496,20 @@ namespace detail template inline typename IoObject::executor_type get_composed_io_executor(IoObject& io_object, - typename enable_if::value>::type* = 0) + typename enable_if< + !is_executor::value + && !execution::is_executor::value + >::type* = 0) { return io_object.get_executor(); } template inline const Executor& get_composed_io_executor(const Executor& ex, - typename enable_if::value>::type* = 0) + typename enable_if< + is_executor::value + || execution::is_executor::value + >::type* = 0) { return ex; }