diff --git a/include/fmt/ranges.h b/include/fmt/ranges.h index 4f65eb4ba3df..c56199223d61 100644 --- a/include/fmt/ranges.h +++ b/include/fmt/ranges.h @@ -269,6 +269,14 @@ using range_reference_type = template using uncvref_type = remove_cvref_t>; +template +using uncvref_first_type = remove_cvref_t< + decltype(std::declval>().first)>; + +template +using uncvref_second_type = remove_cvref_t< + decltype(std::declval>().second)>; + template OutputIt write_delimiter(OutputIt out) { *out++ = ','; *out++ = ' '; @@ -452,11 +460,12 @@ struct formatter< enable_if_t::value // Workaround a bug in MSVC 2019 and earlier. #if !FMT_MSC_VERSION - && (is_formattable, Char>::value || - detail::has_fallback_formatter, - Char>::value) + && (is_formattable, Char>::value || + detail::has_fallback_formatter, Char>::value) + && (is_formattable, Char>::value || + detail::has_fallback_formatter, Char>::value) #endif - >> { + >> { template FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { return ctx.begin();