On Monday, 27 October 2014 at 00:26:00 UTC, ketmar via
Digitalmars-d-learn wrote:
Hello.
let's assume we have this code:
void doWrite(A...) (A args) {
import std.stdio;
import std.conv;
writeln(to!string(args[0]));
}
void main () {
char[3] a0 = "abc";
char[3] a1 = ['a', 'b', 'c'];
doWrite(a0);
doWrite(a1);
}
i don't know why, but this code prints complete garbage each
time i
run
it. yet if i'll change `doWrite()` invocations to this:
doWrite(a0[]);
doWrite(a1[]);
everything is working fine.
am i doing something wrong in the first sample and missed the
relevat
part of documentation, or this is a bug? and do we have
workaround for
this?
It worked fine for me. Output:
abc
abc
Environment: Win 8.1 64-bit (but dmd target is 32-bit, IIRC), dmd
v2.066.0