diff --git a/include/fmt/core.h b/include/fmt/core.h index 029d941b..3b0537ea 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -1368,33 +1368,17 @@ template struct arg_mapper { return val; } - template ::type>::value)> - FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { - return {}; - } - - template ::value)> - FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { - return {}; - } - - template ::value)> - FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { - return {}; - } - // We use SFINAE instead of a const T* parameter to avoid conflicting with // the C array overload. template < typename T, FMT_ENABLE_IF( - !std::is_function::type>::value && - std::is_convertible::value && - !std::is_convertible::value)> + std::is_member_object_pointer::value || + std::is_member_function_pointer::value || + std::is_function::type>::value || + (std::is_convertible::value && + !std::is_convertible::value))> FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { return {}; }