This might actually be a substantial perf regression. Before, there was no allocation performed unless failure, but this unconditionally allocates a format string. Would you mind benchmarking to see if this is an issue?