Exclude fallback from is_formattable

This commit is contained in:
Victor Zverovich
2021-05-05 06:29:51 -07:00
parent 400b953fbb
commit 4f0eadfce4
2 changed files with 16 additions and 15 deletions

View File

@@ -331,15 +331,14 @@ template <typename T, typename Char> struct is_range {
template <typename T, typename Char>
struct formatter<
T, Char,
enable_if_t<fmt::is_range<T, Char>::value
enable_if_t<
fmt::is_range<T, Char>::value
// Workaround a bug in MSVC 2017 and earlier.
#if !FMT_MSC_VER || FMT_MSC_VER >= 1927
&&
(has_formatter<detail::value_type<T>, format_context>::value ||
detail::has_fallback_formatter<detail::value_type<T>,
format_context>::value)
&& (has_formatter<detail::value_type<T>, format_context>::value ||
detail::has_fallback_formatter<detail::value_type<T>, Char>::value)
#endif
>> {
>> {
formatting_range<Char> formatting;
template <typename ParseContext>