Tweak partial to avoid macos build failure
Summary: [Folly] Tweak `partial` to avoid a poorly-understood build failure on macos with clang++ and libc++. ``` In file included from folly/functional/test/PartialTest.cpp:19: In file included from folly/folly/Function.h:230: folly/functional/Invoke.h:65:25: error: attempt to use a deleted function noexcept(noexcept(std::mem_fn(f)(static_cast<A&&>(a)...))) ^ folly/functional/Partial.h:41:19: note: in instantiation of exception specification for 'operator()<int (int &, int &, int &), Foo, const Foo &, const int &, const int &, int &>' requested here -> decltype(invoke( ^ folly/functional/Partial.h:65:56: note: while substituting deduced template arguments into function template 'invokeForward' [with Self = const folly::detail::partial::Partial<int (Foo::*)(int &, int &, int &), std::__1::tuple<Foo, int, int> > &, I = <0, 1, 2>, Args = <int &>] auto operator()(CArgs&&... cargs) const& -> decltype(invokeForward( ^ folly/functional/test/PartialTest.cpp:59:21: note: while substituting deduced template arguments into function template 'operator()' [with CArgs = <int &>] EXPECT_EQ(1234, p0(four)); ^ type_traits:1743:5: note: '~__nat' has been explicitly marked deleted here ~__nat() = delete; ^ ``` Reviewed By: chadaustin Differential Revision: D23722804 fbshipit-source-id: 7b3d6307a46fa12eadea13db327f10aafb89691c
Showing
Please register or sign in to comment