compiler does not detect accessing on null class object.

Daniel Kozak kozzi11 at gmail.com
Mon May 27 15:29:32 UTC 2019


On Monday, 27 May 2019 at 15:13:00 UTC, dangbinghoo wrote:
> hello,
>
> code below:
> -----
>     class a  {
>         string a1;
>     }
>
>     a a1;
>     writeln(a1.a1);
> -----
>
> compiles and produce "core dump" or "segfault", does this fit 
> the original D design? why the compiler does not detect for 
> accessing a null object and refused to compile?
>
>
>
> And, 2nd question: where can I find the Subset spec of SafeD?
>
>
> Thanks!
>
> --------------
> binghoo dang


1.)
Yes this is by design. It is not easy to detect this at compile 
time.
It does not break safety

2.)
https://dlang.org/spec/function.html#function-safety
https://dlang.org/spec/memory-safe-d.html
https://dlang.org/articles/safed.html#safed-subset




More information about the Digitalmars-d-learn mailing list