diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index b1a4c95..2df8bc6 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -157,7 +157,7 @@ constexpr std::string_view pretty_name(std::string_view name) noexcept { } template -constexpr bool cmp_equal(std::string_view lhs, std::string_view rhs, BinaryPredicate p) noexcept(std::is_nothrow_invocable_r_v) { +constexpr bool cmp_equal(std::string_view lhs, std::string_view rhs, BinaryPredicate&& p) noexcept(std::is_nothrow_invocable_r_v) { if (lhs.size() != rhs.size()) { return false; } @@ -525,7 +525,7 @@ template static_assert(std::is_invocable_r_v, "magic_enum::enum_cast requires bool(char, char) invocable predicate."); for (std::size_t i = 0; i < detail::count_v; ++i) { - if (detail::cmp_equal(value, detail::names_v[i], std::move(p))) { + if (detail::cmp_equal(value, detail::names_v[i], p)) { return enum_value(i); } }