# HG changeset patch # User Patric Stout # Date 2024-01-16 20:58:55 # Node ID b660b702c15c656c93632136ee4221fa290a1d3d # Parent 894859d2ac0bb4054557e9bfc270a5f9f19787ae Codechange: compile-time validate the string format of SlErrorCorruptFmt (#11805) diff --git a/src/saveload/saveload_error.hpp b/src/saveload/saveload_error.hpp --- a/src/saveload/saveload_error.hpp +++ b/src/saveload/saveload_error.hpp @@ -20,15 +20,14 @@ void NORETURN SlErrorCorrupt(const std:: * Issue an SlErrorCorrupt with a format string. * @param format_string The formatting string to tell what to do with the remaining arguments. * @param fmt_args The arguments to be passed to fmt. - * @tparam T The type of formatting parameter. * @tparam Args The types of the fmt arguments. * @note This function does never return as it throws an exception to * break out of all the saveload code. */ -template -inline void NORETURN SlErrorCorruptFmt(const T &format, Args&&... fmt_args) +template +inline void NORETURN SlErrorCorruptFmt(const fmt::format_string format, Args&&... fmt_args) { - SlErrorCorrupt(fmt::format(format, fmt_args...)); + SlErrorCorrupt(fmt::format(format, std::forward(fmt_args)...)); } #endif /* SAVELOAD_ERROR_HPP */