On Friday, 5 January 2018 at 22:16:04 UTC, Nordlöw wrote:
> Why isn't
>
> class X {}
> class Y : X {}
> X[] xs = cast(X[])(Y[].init);
>
> compilable in safe D?
>
> What's unsafe about such a cast?
class X {}
class Y : X {}
class Z : X {}
Y[] ys = Y[].init;
X[] xs = cast(X[])(ys);
xs[0] = new Z;
What happens to ys[0] there?