On Sunday, 9 July 2017 at 11:37:55 UTC, Steven Schveighoffer
wrote:
On 7/9/17 7:00 AM, Walter Bright wrote:
On 7/9/2017 3:37 AM, Steven Schveighoffer wrote:
Yet, here is an example of where we have effectively added a
null pointer exception. > At the very least, this should be
eliminated on Linux
and just use the signal handling null pointer error mechanism!
You're a few years late, as pretty much nobody agreed with me
that the operating system handling of it was plenty.
I think you misunderstand, we have etc.linux.memoryerror that
can actually throw an error on a null pointer using the signal
handler.
I have a suggestion: eliminate this feature, and add a -npe
switch to the compiler that errors on any null pointer usage.
Asserts will be sprinkled in everywhere, but may be useful to
someone debugging a nasty null pointer segfault somewhere.
-Steve
I think the generated assert(this !is null) has its place, it is
useful to catch a null this as early as possible but not by
default. Perhaps debug mode (as in the compiler switch) or a
switch of its own.