On Friday, 1 April 2016 at 21:25:46 UTC, Yuxuan Shui wrote:
Clang has this nice feature that it will warn you when you
passed wrong arguments to printf:
#include <stdio.h>
int main(){
long long u = 10;
printf("%c", u);
}
clang something.c:
something.c:4:15: warning: format specifies type 'int' but the
argument has type 'long long' [-Wformat]
With the CTFE power of D, we should be able to do the same
thing when the format string is available at compile time.
Instead of throwing exceptions at run time.
I thought LDC already did that when `-check-printf-calls` is
passed, but the implementation is unfinished and it does not do
any checking at the moment.