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