diff --git a/include/fmt/core.h b/include/fmt/core.h index e5d94c5e..f1561f8c 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -278,9 +278,6 @@ namespace detail { // warnings. template constexpr T const_check(T value) { return value; } -// A workaround for gcc 4.8 to make void_t work in a SFINAE context. -template struct void_t_impl { using type = void; }; - FMT_NORETURN FMT_API void assert_fail(const char* file, int line, const char* message); @@ -342,9 +339,6 @@ enum char8_type : unsigned char {}; namespace internal = detail; // DEPRECATED -template -using void_t = typename detail::void_t_impl::type; - /** An implementation of ``std::basic_string_view`` for pre-C++17. It provides a subset of the API. ``fmt::basic_string_view`` is used for format strings even diff --git a/include/fmt/format.h b/include/fmt/format.h index a81c155b..257420bd 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -288,6 +288,13 @@ template <> constexpr int num_bits() { std::numeric_limits::digits); } + +// A workaround for gcc 4.8 to make void_t work in a SFINAE context. +template struct void_t_impl { using type = void; }; + +template +using void_t = typename detail::void_t_impl::type; + // An approximation of iterator_t for pre-C++20 systems. template using iterator_t = decltype(std::begin(std::declval()));