| Thread overview | |||||
|---|---|---|---|---|---|
|
September 01, 2015 new static array | ||||
|---|---|---|---|---|
| ||||
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?
Simple workaround: send a slice.
| ||||
September 02, 2015 Re: new static array | ||||
|---|---|---|---|---|
| ||||
Posted in reply to anonymous | 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
| |||
September 02, 2015 Re: new static array | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Wednesday, 2 September 2015 at 06:04:40 UTC, Ali Çehreli wrote: > > with int[4] it compiles and runs. int[][4] fails. Is this a > bug? > > I think so. https://issues.dlang.org/show_bug.cgi?id=15004 may related to https://issues.dlang.org/show_bug.cgi?id=10740 | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply