On Wednesday, 21 January 2015 at 14:41:48 UTC, Baz wrote:
On Wednesday, 21 January 2015 at 14:31:15 UTC, bearophile wrote:
Currently this is accepted:

int[2] m = cast(int[2])[1, 2];

But Kenji suggests that the cast from int[] to int[2][1] should not be accepted. Do you know why?

Reference:
https://issues.dlang.org/show_bug.cgi?id=7514

Bye and thank you,
bearophile

This is because of the .sizeof property, for example:

void main(string[] args)
{
    int[3] m = cast(int[3])[1, 2, 3];
    writeln(m.sizeof);
    writeln([1, 2, 3].sizeof);
}

outputs 12 / 8

Your previous example is corner case, it's 8/8 in both.

with -m32 of course.

Reply via email to