From 2f605cc8962b13b4691909b715c538e64d69e456 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 17 May 2023 08:30:36 -0700 Subject: [PATCH] Deprecate wide printf --- include/fmt/printf.h | 22 +++++++++++++--------- test/printf-test.cc | 1 - 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/include/fmt/printf.h b/include/fmt/printf.h index d9105a99..2aef27a7 100644 --- a/include/fmt/printf.h +++ b/include/fmt/printf.h @@ -585,6 +585,7 @@ inline auto make_printf_args(const T&... args) arguments and can be implicitly converted to `~fmt::wprintf_args`. \endrst */ +// DEPRECATED! template inline auto make_wprintf_args(const T&... args) -> format_arg_store { @@ -647,12 +648,12 @@ inline auto fprintf(std::FILE* f, const S& fmt, const T&... args) -> int { fmt::make_format_args(args...)); } -template > -inline auto vprintf( - const S& fmt, +template +FMT_DEPRECATED inline auto vprintf( + basic_string_view fmt, basic_format_args>> args) -> int { - return vfprintf(stdout, detail::to_string_view(fmt), args); + return vfprintf(stdout, fmt, args); } /** @@ -664,11 +665,14 @@ inline auto vprintf( fmt::printf("Elapsed time: %.2f seconds", 1.23); \endrst */ -template ::value)> -inline auto printf(const S& fmt, const T&... args) -> int { - return vprintf( - detail::to_string_view(fmt), - fmt::make_format_args>>(args...)); +template +inline auto printf(string_view fmt, const T&... args) -> int { + return vfprintf(stdout, fmt, make_printf_args(args...)); +} +template +FMT_DEPRECATED inline auto printf(basic_string_view fmt, + const T&... args) -> int { + return vfprintf(stdout, fmt, make_wprintf_args(args...)); } FMT_END_EXPORT diff --git a/test/printf-test.cc b/test/printf-test.cc index 9fbab106..4ebec94f 100644 --- a/test/printf-test.cc +++ b/test/printf-test.cc @@ -533,7 +533,6 @@ TEST(printf_test, vprintf) { auto store = fmt::format_arg_store(n); auto args = fmt::basic_format_args(store); EXPECT_EQ(fmt::vsprintf("%d", args), "42"); - EXPECT_WRITE(stdout, fmt::vprintf("%d", args), "42"); EXPECT_WRITE(stdout, fmt::vfprintf(stdout, "%d", args), "42"); }