I just noticed that
void foo() @safe pure nothrow
{
void[] void_array = new void[3];
auto ubyte_array = cast(ubyte[])void_array;
auto short_array = cast(short[])void_array;
}
compiles but gives a
object.Error@(0): array cast misalignment
because of the
cast(short[])
I'm surprised---why is cast between different alignments and
element lengths allowed at all in Safe D?
IMO, cast(ubyte[]), should be safe here though.
