diff --git a/test/format b/test/format index f9315272..2ad5941e 100644 --- a/test/format +++ b/test/format @@ -284,7 +284,7 @@ namespace std { (std::is_same_v && std::is_same_v) || detail::is_standard_integer_v || detail::is_standard_unsigned_integer_v || - is_default_constructible_v> + sizeof(typename Context::template formatter_type().format(declval(), declval())) != 0 >> explicit basic_format_arg(const T& v) noexcept; // exposition only explicit basic_format_arg(float n) noexcept; // exposition only explicit basic_format_arg(double n) noexcept; // exposition only @@ -344,7 +344,7 @@ template /* explicit */ basic_format_arg::basic_form value = static_cast(v); else if constexpr (detail::is_standard_unsigned_integer_v) value = static_cast(v); - else if constexpr (is_default_constructible_v>) + else if constexpr (sizeof(typename Context::template formatter_type().format(declval(), declval())) != 0) value = handle(v); }