new static array

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Sep 1 23:04:40 PDT 2015


On 09/01/2015 09:47 AM, anonymous wrote:> Hello,
 >
 > I tried to send a string[4] with std.concurrency:
 >
 > import std.concurrency;
 > import std.stdio;
 > void fun() {
 >      receive((string[4] data) { writeln(data);});
 > }
 >
 > void main() {
 >      string[4] data;
 >      auto tid = spawn(&fun);
 >      send(tid, data);
 > }
 >
 > I got (dmd 2.068)
 > /usr/include/dmd/phobos/std/variant.d(633): Error: new can only create
 > structs, dynamic arrays or class objects, not string[4]'s
 > [...]
 >
 > with int[4] it compiles and runs. int[][4] fails. Is this a bug?

I think so.

 > Simple workaround: send a slice.

Another one: Wrap the array in a struct:

struct Data
{
     string[4] s;
}

Ali



More information about the Digitalmars-d-learn mailing list