<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Oct 12, 2016 at 12:35 PM Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You get compile time checking automatically when we can use c++14 though.  If you use it with a string literal, you'll get compile time checking, otherwise you won't.<br class="gmail_msg"></blockquote><div><br></div><div>Even with C++14, os.format("literal format", a, b, c) cannot do the compile-time checking (I maybe wrong with understanding C++14 constexpr). You probably need to add a overloaded version like `os.format(static_format("literal format"), a, b, c)`, or `os.format("literal format"_fmt, a, b, c)` to hold the compile-time checked version.</div><div><br></div><div>But anyway, the current interface os.format(const char*, ...) is forward-compatible.</div></div></div>