diff --git a/headers/meta.hpp/meta_base/fixed_function.hpp b/headers/meta.hpp/meta_base/fixed_function.hpp index 8bac775..42466e3 100644 --- a/headers/meta.hpp/meta_base/fixed_function.hpp +++ b/headers/meta.hpp/meta_base/fixed_function.hpp @@ -178,17 +178,23 @@ namespace meta_hpp::detail template < typename F > struct strip_signature_impl; - template < typename R, typename C, bool NoExcept, typename... Args > - struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; - template < typename R, typename C, bool NoExcept, typename... Args > - struct strip_signature_impl { using type = R(Args...); }; - - template < typename R, typename C, bool NoExcept, typename... Args > - struct strip_signature_impl { using type = R(Args...); }; - - template < typename R, typename C, bool NoExcept, typename... Args > - struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; + template < typename R, typename C, typename... Args > + struct strip_signature_impl { using type = R(Args...); }; template < typename F > using strip_signature_impl_t = typename strip_signature_impl::type; diff --git a/untests/meta_base/fixed_function_tests.cpp b/untests/meta_base/fixed_function_tests.cpp index 45c8256..7d62185 100644 --- a/untests/meta_base/fixed_function_tests.cpp +++ b/untests/meta_base/fixed_function_tests.cpp @@ -37,6 +37,11 @@ TEST_CASE("meta/meta_base/fixed_function") { ff = std::move(f2); CHECK(ff() == 2); } + { + auto f1 = []() noexcept {return 1;}; + fixed_function ff{f1}; + CHECK(ff() == 1); + } } SUBCASE("reset") {