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

Reply via email to