On Thursday, 17 October 2013 at 23:25:52 UTC, Meta wrote:
On Thursday, 17 October 2013 at 23:18:21 UTC, DDD wrote:
I tried this code and the compiler allowed it (runtime I get object.Error: Access Violation). What am I doing wrong?

Thanks I didn't notice

@safe
import std.stdio;
class A {
        int x  = 1;
}
@safe void main() {
        A a;
        a.x=9;
}

This is more or less a different thing. SafeD doesn't guarantee that your class references will not be null. Trying to call a method on a null reference is perfectly valid in SafeD. There's a pull request sitting in GitHub for a NotNull type that should be reasonable good for ensuring that your references are not null, but it hasn't been pulled yet.

Actually on linux this will segfault so in general this is not safe across all platforms.

Reply via email to