Re: Some array casts

2015-01-21 Thread bearophile via Digitalmars-d-learn
The sizeof values aren't relevant for D array casts. What matters are the array contents. See: void main() { int[5] m = cast(int[5])[1, 2, 3, 4, 5]; assert(m == [1, 2, 3, 4, 5]); pragma(msg, m.sizeof); // 20u pragma(msg, [1, 2, 3, 4, 5].sizeof); // 8u } Bye, bearophile

Re: Some array casts

2015-01-21 Thread Douglas Peterson via Digitalmars-d-learn
On Wednesday, 21 January 2015 at 18:08:44 UTC, bearophile wrote: The sizeof values aren't relevant for D array casts. What matters are the array contents. See: void main() { int[5] m = cast(int[5])[1, 2, 3, 4, 5]; assert(m == [1, 2, 3, 4, 5]); pragma(msg, m.sizeof); // 20u

Re: Some array casts

2015-01-21 Thread bearophile via Digitalmars-d-learn
Baz: int[3] m = cast(int[3])[1, 2, 3]; writeln(m.sizeof); writeln([1, 2, 3].sizeof); The sizeof values aren't relevant for D array casts. What matters are the array contents. Bye, bearophile

Re: Some array casts

2015-01-21 Thread Baz via Digitalmars-d-learn
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

Some array casts

2015-01-21 Thread bearophile via Digitalmars-d-learn
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

Re: Some array casts

2015-01-21 Thread Baz via Digitalmars-d-learn
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: