On Saturday, July 28, 2012 01:16:41 Namespace wrote: > Therefore i hope that it will be official added into D. > Otherwise of course i use it only for projects between me and my > other students. > > I don't know what is wrong with this shorthand. So why don't give > it a try?
I don't even know what the last time I dereferenced a null pointer or null reference was. It almost never happens to me. I really think that if you're seeing very many null dererences, you're doing something fundamentally wrong with your code. At minimum, it indicates that you're not unit testing enough, since if you do that right, it'll catch the logic errors which give you null pointers/references very quickly. > I'm absolutely sure that Walter will _never_ add real > non-nullable references. > All what will maybe come are further structs in std.alghorithm > which blows up your code as assertions even do. We will get a NotNull struct at some point (probably in std.typecons). It'll statically prevent assignments from null where it can and use assertions where it can't. Adding something to the language doesn't buy you much more than that anyway. At this point, any new language feature must meet a very high bar, and if we can do it in the library instead, we will. D is incredibly powerful and is already plenty complex, so we'll take advantage of that power where we can rather than trying to change the language further. D arguably has too many features as it is. And as big a deal as you seem to think that this is, the _only_ C-based language that I'm aware of which has non-nullable references as part of the language is C#. So, while they may have their uses, it's actually very uncommon to have them, and since we can add a library type to do it, we can fix the problem without altering the language. - Jonathan M Davis
