From 8e4fa763c8ff9885212426ec37d9ca22e20eb4a7 Mon Sep 17 00:00:00 2001 From: Scott Ramsby Date: Mon, 8 May 2023 11:48:50 -0700 Subject: [PATCH] Add some missing argument forwarding --- include/fmt/core.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/fmt/core.h b/include/fmt/core.h index 06477a81..3c692755 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -1698,7 +1698,7 @@ template FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg { auto arg = basic_format_arg(); arg.type_ = mapped_type_constant::value; - arg.value_ = make_value(value); + arg.value_ = make_value(FMT_FORWARD(value)); return arg; } @@ -1708,13 +1708,13 @@ FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg { template FMT_CONSTEXPR FMT_INLINE auto make_arg(T&& val) -> value { - return make_value(val); + return make_value(FMT_FORWARD(val)); } template FMT_CONSTEXPR inline auto make_arg(T&& value) -> basic_format_arg { - return make_arg(value); + return make_arg(FMT_FORWARD(value)); } } // namespace detail FMT_BEGIN_EXPORT @@ -2814,7 +2814,7 @@ FMT_API auto vformat(string_view fmt, format_args args) -> std::string; template FMT_NODISCARD FMT_INLINE auto format(format_string fmt, T&&... args) -> std::string { - return vformat(fmt, fmt::make_format_args(args...)); + return vformat(fmt, fmt::make_format_args(FMT_FORWARD(args)...)); } /** Formats a string and writes the output to ``out``. */ @@ -2842,7 +2842,7 @@ template ::value)> FMT_INLINE auto format_to(OutputIt out, format_string fmt, T&&... args) -> OutputIt { - return vformat_to(out, fmt, fmt::make_format_args(args...)); + return vformat_to(out, fmt, fmt::make_format_args(FMT_FORWARD(args)...)); } template struct format_to_n_result { @@ -2882,7 +2882,7 @@ template FMT_NODISCARD FMT_INLINE auto formatted_size(format_string fmt, T&&... args) -> size_t { auto buf = detail::counting_buffer<>(); - detail::vformat_to(buf, fmt, fmt::make_format_args(args...), {}); + detail::vformat_to(buf, fmt, fmt::make_format_args(FMT_FORWARD(args)...), {}); return buf.count(); } @@ -2901,7 +2901,7 @@ FMT_API void vprint(std::FILE* f, string_view fmt, format_args args); */ template FMT_INLINE void print(format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); + const auto& vargs = fmt::make_format_args(FMT_FORWARD(args)...); return detail::is_utf8() ? vprint(fmt, vargs) : detail::vprint_mojibake(stdout, fmt, vargs); } @@ -2918,7 +2918,7 @@ FMT_INLINE void print(format_string fmt, T&&... args) { */ template FMT_INLINE void print(std::FILE* f, format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); + const auto& vargs = fmt::make_format_args(FMT_FORWARD(args)...); return detail::is_utf8() ? vprint(f, fmt, vargs) : detail::vprint_mojibake(f, fmt, vargs); }