On Saturday, 11 March 2017 at 19:28:16 UTC, H. S. Teoh wrote:
So the idea is to analyse the format string at compile-time to
determine exactly what functionality is actually used, and
instantiate only that. Think of it as a format-string
mini-compiler: given a format string and a list of argument
types, compile it into the equivalent minimal D code. E.g.:
format("abc%sdef", s)
should get compiled into:
"abc" ~ s ~ "def" // N.B.: no floating-point code, no
// width handling, etc.
Sounds good, and it would be more efficient at runtime. But as
the type checking is easier, and the interface is the same, I
think we could add type checking now and hopefully do the CT
parsing later.