More bugs found in OS code
bearophile
bearophileHUGS at lycos.com
Wed Nov 2 20:46:29 PDT 2011
Adam D. Ruppe:
> bearophile wrote:
> > Currently this is not caught by D, it prints "12":
> > import std.stdio;
> > void main() {
> > writefln("%d%d", 1, 2, 3);
> > }
>
> That's not really an error. You might change out the format
> string at runtime based on user preferences, perhaps for
> internationalization, or other reasons.
Right, the format string is in general a run-time value, so you can't always catch this situation at compile-time.
But how many times do you want to ignore some of the arguments listed? Even if this happens (and I don't remember needing this), I think it's not common enough to justify so permissive semantics at run-time.
Recently Andrei A. has expressed some opinions on this topic, but I don't remember the bug report number.
Bye,
bearophile
More information about the Digitalmars-d
mailing list