Re: Static initialization of rectangular arrays

2019-08-29 Thread rombankzero via Digitalmars-d-learn

On Thursday, 29 August 2019 at 19:06:04 UTC, kinke wrote:
Sorry, that was wrt. the linked bugzilla and not this example 
here. - What does work is `static double[6][3] matrix = [0, 0, 
0]`, i.e., initializing each nested 1D array with a scalar 0.


I guess I'll use this workaround, though obviously it becomes 
more impractical the larger the outermost array dimension is 
¯\_(ツ)_/¯


Re: Static initialization of rectangular arrays

2019-08-29 Thread kinke via Digitalmars-d-learn

On Thursday, 29 August 2019 at 18:59:22 UTC, kinke wrote:
On Thursday, 29 August 2019 at 18:11:50 UTC, Les De Ridder 
wrote:

It's a known bug[1].

As a workaround you could use a `static this()`:


Or LDC, and GDC probably too.


Sorry, that was wrt. the linked bugzilla and not this example 
here. - What does work is `static double[6][3] matrix = [0, 0, 
0]`, i.e., initializing each nested 1D array with a scalar 0.


Re: Static initialization of rectangular arrays

2019-08-29 Thread kinke via Digitalmars-d-learn

On Thursday, 29 August 2019 at 18:11:50 UTC, Les De Ridder wrote:

It's a known bug[1].

As a workaround you could use a `static this()`:


Or LDC, and GDC probably too.


Re: Static initialization of rectangular arrays

2019-08-29 Thread Les De Ridder via Digitalmars-d-learn

On Thursday, 29 August 2019 at 15:10:26 UTC, rombankzero wrote:

[...]

Is this a bug, or am I missing something? It would be really 
convenient to be able to statically initialize rectangular 
arrays in this way. Example: I have a struct that has a member 
that's a rectangular float array, but I have no way of telling 
the compiler that I want it default-initialized to all-zeroes 
(instead of NaNs)!


It's a known bug[1].

As a workaround you could use a `static this()`:

static double[6][3] matrix;

static this()
{
matrix = 0;
}

[1] https://issues.dlang.org/show_bug.cgi?id=19178