refactor: Introduce struct to hold a runtime format string

This brings the format types closer to the standard library types:

* FormatStringCheck corresponds to std::basic_format_string, with
  compile-time checks done via ConstevalFormatString
* RuntimeFormat corresponds to std::runtime_format, with no compile-time
  checks done.

Also, it documents where no compile-time checks are done.
This commit is contained in:
MarcoFalke
2024-12-07 11:49:48 +01:00
parent fa6adb0134
commit fa3efb5729
5 changed files with 33 additions and 20 deletions

View File

@@ -46,7 +46,7 @@ struct FuzzedWallet {
for (const std::string& desc_fmt : DESCS) {
for (bool internal : {true, false}) {
const auto descriptor{(strprintf)(desc_fmt, "[5aa9973a/66h/4h/2h]" + seed_insecure, int{internal})};
const auto descriptor{strprintf(tfm::RuntimeFormat{desc_fmt}, "[5aa9973a/66h/4h/2h]" + seed_insecure, int{internal})};
FlatSigningProvider keys;
std::string error;