diff options
-rw-r--r-- | include/mbgl/actor/actor.hpp | 8 | ||||
-rw-r--r-- | test/actor/actor.test.cpp | 31 |
2 files changed, 0 insertions, 39 deletions
diff --git a/include/mbgl/actor/actor.hpp b/include/mbgl/actor/actor.hpp index 74d5a66285..6610421eb5 100644 --- a/include/mbgl/actor/actor.hpp +++ b/include/mbgl/actor/actor.hpp @@ -57,14 +57,6 @@ public: object(self(), std::forward<Args>(args_)...) { } - // Enabled for plain Objects - template <typename U = Object, class... Args, - typename std::enable_if<!std::is_constructible<U, ActorRef<Object>, Args...>::value>::type...> - Actor(Scheduler& scheduler, Args&&... args_) - : mailbox(std::make_shared<Mailbox>(scheduler)), - object(std::forward<Args>(args_)...) { - } - ~Actor() { mailbox->close(); } diff --git a/test/actor/actor.test.cpp b/test/actor/actor.test.cpp index 39d7ff81f4..2b4c83f566 100644 --- a/test/actor/actor.test.cpp +++ b/test/actor/actor.test.cpp @@ -305,34 +305,3 @@ TEST(Actor, Ask) { ASSERT_EQ(std::future_status::ready, status); ASSERT_EQ(2, result.get()); } - -TEST(Actor, NoSelfActorRef) { - // Not all actors need a reference to self - - // Trivially constructable - struct Trivial {}; - - ThreadPool pool { 2 }; - Actor<Trivial> trivial(pool); - - - // With arguments - struct WithArguments { - std::promise<void> promise; - - WithArguments(std::promise<void> promise_) - : promise(std::move(promise_)) { - } - - void receive() { - promise.set_value(); - } - }; - - std::promise<void> promise; - auto future = promise.get_future(); - Actor<WithArguments> withArguments(pool, std::move(promise)); - - withArguments.invoke(&WithArguments::receive); - future.wait(); -} |