On Wednesday, 28 February 2018 at 14:05:19 UTC, Jonathan M Davis wrote:
On Wednesday, February 28, 2018 13:43:37 SimonN via Digitalmars-d wrote:
[...]

I expect that pretty much anything you propose that requires code flow analysis is DOA. Walter is almost always against features that require it, because it's so hard to get right, and the places that D does use it tend to have problems (e.g. it's actually quite trivial to use a const or immutable member variable before it's initialized). In fact, IIRC, in the most recent discussion on having the compiler give an error when it can detect that a null pointer or reference is being dereferenced, Walter was arguing against precisely because code-flow analysis is so hard to get right, and encoding it in the spec is particularly bad (which would be required for anything involving errors). If non-nullable references were added to D, I expect that they would have to be like structs marked with

[...]

I don't understand the problems with null either - my program segfaults, I look at the core dump and initialise whatever it is that was T.init. And this in the rare case I actually use a pointer or a class instance to begin with.

I also declare nearly every variable with `const var = <expr>;`, so I guess that makes it even more unlikely for me.

Atila

Reply via email to