Fix formatting of named arguments with locale

This commit is contained in:
Victor Zverovich 2022-12-15 09:54:16 -08:00
parent d072f1dc69
commit b90895412f
2 changed files with 6 additions and 1 deletions

View File

@ -4306,7 +4306,7 @@ template <typename Locale, typename... T,
FMT_ENABLE_IF(detail::is_locale<Locale>::value)>
inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
-> std::string {
return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
return fmt::vformat(loc, string_view(fmt), fmt::make_format_args(args...));
}
template <typename OutputIt, typename Locale,

View File

@ -2419,4 +2419,9 @@ TEST(format_test, format_facet_grouping) {
EXPECT_EQ(fmt::format(loc, "{:L}", 1234567890), "1,234,567,89,0");
}
TEST(format_test, format_named_arg_with_locale) {
EXPECT_EQ(fmt::format(std::locale(), "{answer}", fmt::arg("answer", 42)),
"42");
}
#endif // FMT_STATIC_THOUSANDS_SEPARATOR