readf() compiler error message weirdness (CTFE-related?)

David Nadlinger see at klickverbot.at
Sun Feb 6 07:48:34 PST 2011


I have always been pleased to see improvements in compile time code 
execution possibilities, but today I hit what must be the weirdest DMD 
error message I've ever seen:

/usr/local/bin/../include/d2/std/format.d(434): Error: can only 
Applications Desktop Documents Downloads Library Movies Music Pictures 
Public Sites test.d a pointer, not a 'int'

To be honest, I have no idea how this happens, but somehow DMD picked up 
the contents of the directory the source file, test.d, resides in. It 
looks like this (note the missing ampersand):
———
import std.stdio;
void main() {
     int e;
     readf( "%d", e );
}
———

Any idea what on earth could be going on here?

David


More information about the Digitalmars-d mailing list