diff --git a/src/uvw/loop.hpp b/src/uvw/loop.hpp index 5ee0c2a2..34a00832 100644 --- a/src/uvw/loop.hpp +++ b/src/uvw/loop.hpp @@ -12,21 +12,6 @@ namespace uvw { -namespace details { - - -template -constexpr auto isBaseOfAny() { - bool ret = false; - int a[] = { (ret = ret || std::is_base_of>>::value, 0)... }; - (void)a; - return ret; -} - - -} - - class Loop; @@ -34,9 +19,9 @@ template class Handle { friend class Loop; - template, Args...>()>* = nullptr> - explicit constexpr Handle(Args&&... args) - : res{std::make_shared(std::forward(args)...)} + template + explicit constexpr Handle(uv_loop_t *loop, Args&&... args) + : res{std::make_shared(loop, std::forward(args)...)} { } public: diff --git a/test/main.cpp b/test/main.cpp index d83b2a38..be5928c2 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -4,7 +4,7 @@ void f(uvw::Loop &loop) { uvw::Handle handle = loop.handle(); - auto cb = [h{handle}](uvw::UVWError err){ std::cout << "---" << ((bool)err) << std::endl; }; + auto cb = [h = handle](uvw::UVWError err){ std::cout << "---" << ((bool)err) << std::endl; }; uvw::Tcp &tcp = handle; tcp.connect(std::string{"127.0.0.1"}, 80, cb); }