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

Reply via email to