Notes on 2.030
Georg Wrede
georg at nospam.org
Mon May 18 10:00:08 PDT 2009
In std/conv.d I found that there are several imports that are done
twice, once as private and once as regular imports.
Another thing,
Because I'm running Fedora 4 on my laptop (the newer Fedoras demand too
much resources), I had to compile dmd. That seemed to work, once I changed
//#include "../mars/mars.h"
#include "../mars.h"
in dmd/backend/dwarf.c (I thought this was fixed already?)
Now, when trying to compile a trivial test file, I noticed that merely
including std.stdio results in template problems in std/traits.d unittests:
/tmp/dmdcc/dmd/linux/bin/../../src/phobos/std/traits.d(950): Error:
template instance isStaticArray!(const(int)[]) does not match template
declaration isStaticArray(T : U[N],U,uint N)
/tmp/dmdcc/dmd/linux/bin/../../src/phobos/std/traits.d(950): Error:
expression isStaticArray!(const(int)[]) of type void does not have a
boolean value
/tmp/dmdcc/dmd/linux/bin/../../src/phobos/std/traits.d(950): Error:
static assert (!isStaticArray!(const(int)[])) is not evaluatable at
compile time
It seems one can include files that *don't* include stdio, for example
compiler.d ctype.d datebase.d __fileinit.d perf.d stdarg.d system.d
uni.d typetuple.d
all seem to work. Additionally, one can even compile those files
$ dmd -c -w compiler.d ctype.d datebase.d __fileinit.d perf.d stdarg.d
system.d uni.d typetuple.d
with no errors or warnings. (What they seem to have in common, is they
don't include stdio, and therefore traits.d.)
Of course, I'll submit a bug report, or two. But before that, are there
any points that help me understand the issues? Or even *better* that
help me maybe write a more precise bug report (meaning, one that gets
fixed sooner, and takes less time to fix).
More information about the Digitalmars-d
mailing list