summaryrefslogtreecommitdiffstats
path: root/cxxformat.hpp
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2020-07-28 18:57:37 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2020-07-28 18:57:37 +0200
commitfc817cd011250d968c3183b650845245bf459f6a (patch)
tree89570d563bc9a7e14d0118e5d09a466c742f9a74 /cxxformat.hpp
parent2dbf4f2c0732879a47e48284353353b89cbe97a9 (diff)
downloadcxxformat-fc817cd011250d968c3183b650845245bf459f6a.tar.gz
cxxformat-fc817cd011250d968c3183b650845245bf459f6a.zip
Show character triggering unknown conversion in error message
Diffstat (limited to 'cxxformat.hpp')
-rw-r--r--cxxformat.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/cxxformat.hpp b/cxxformat.hpp
index 3a45e9f..46d18b4 100644
--- a/cxxformat.hpp
+++ b/cxxformat.hpp
@@ -610,6 +610,12 @@ namespace detail
else return substr<i, iAfterPrecision - 1, true>(fmt) + conversion;
}
+ template<char c, std::size_t size>
+ consteval void showUnknownConversionSpecifier()
+ {
+ static_assert(size == 0, "Unknown conversion specifier!");
+ }
+
template<auto fmt, size_t i, size_t argumentIndex, typename Arg, typename... Args>
std::string format_s(Arg &&arg, Args &&...args)
{
@@ -642,7 +648,7 @@ namespace detail
}
else
{
- static_assert(fmt.size == 0, "Unknown conversion specifier!");
+ showUnknownConversionSpecifier<conversion, fmt.size>();
throw FormatException{std::string{"Unknown conversion specifier: \""} + conversion + "\""};
}
}