Can we check the arguments to format() at compile time?

Yuxuan Shui via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 1 16:40:48 PDT 2016


On Friday, 1 April 2016 at 23:26:14 UTC, Alex Parrill wrote:
> On Friday, 1 April 2016 at 21:25:46 UTC, Yuxuan Shui wrote:
>> [...]
>
> Not as-is, because the format string is a runtime argument and 
> not a compile-time constant.
>
> Consider:
>
>     writefln(rand() >= 0.5 ? "%s" : "%d", 123);
>
> It's certainly possible with a new, templated writef function. 
> Hypothetically:
>
>     writefln_ctfe!"%s"(1234); // would fail

That's kind of ugly. Now I really wish D can unify template 
arguments and function arguments known at compile time.


More information about the Digitalmars-d mailing list