debugger blues
cy via Digitalmars-d
digitalmars-d at puremagic.com
Sat Mar 26 16:12:18 PDT 2016
You know what I really want? I want to disable package:/private:
access entirely! Since GDB is useless, I can't write assertions
to compare the structure of two objects, without going into that
3000 lines of code and writing a function to compare them in that
particular fashion. Not being allowed to turn those accesses into
warnings, or temporarily disabling them, seems a bit spiteful. It
takes a lot of hubris for a programmer to decide that nobody else
will ever want to do something with their code, that they didn't
themselves anticipate.
On Friday, 25 March 2016 at 09:30:37 UTC, Vladimir Panteleev
wrote:
> "null this" is the error I'm talking about. It is coming from
> the object invariant. It's not caused by a segmentation fault
> caused by accessing a member.
It still happily allows me to pass around that null pointer as if
it were a real object, and call member functions on that null
pointer. It's only when it tries to access a member variable that
it raises the error. I'm of the opinion that null should be
categorically different from a pointer to a class or struct.
Because when I get "null this" I have no general way to tell
where that null pointer came from, and just have to eyeball the
code and trace back to guess where it might have returned an
unexpected null.
Segfaulting on a null this would be totally terrible, but
erroring out on "null this" is still fail-slow.
More information about the Digitalmars-d
mailing list