This code:

    import std.stdio;

    class X1 {}
    class X2 : X1
    {
        void run() @safe
        {
            writeln("DONE");
        }
    }

    void main() @safe
    {
        X1 x1 = new X1;
        X2 x2 = cast(X2) x1;
        x2.run();
    }

is obviously wrong gets killed by OS's signal. Why is it @safe? I thought @safe should prevent such errors as well.

Reply via email to