Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-21 Thread NoMoreBugs via Digitalmars-d-learn
On Wednesday, 21 November 2018 at 17:11:23 UTC, Stefan Koch wrote: For _TRIVIAL_cases this is not hard. But we cannot only worry about trivial cases; We have to consider _all_ cases. Therefore we better not emit an error in a trivial case. Which could lead users to assume that we are detecting

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-21 Thread NoMoreBugs via Digitalmars-d-learn
On Monday, 19 November 2018 at 21:39:22 UTC, Adam D. Ruppe wrote: On Monday, 19 November 2018 at 21:23:31 UTC, Jordi GutiƩrrez Hermoso wrote: What's the reasoning for allowing this? The mistake is immediately obvious when you run the program, so I just don't see it as a big deal. You lose a m

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-21 Thread NoMoreBugs via Digitalmars-d-learn
On Tuesday, 20 November 2018 at 15:46:35 UTC, Adam D. Ruppe wrote: On Tuesday, 20 November 2018 at 13:27:28 UTC, welkam wrote: Because the more you learn about D the less you want to use classes. classes rock. You just initialize it. You're supposed to initialize *everything* anyway. a fan

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-20 Thread NoMoreBugs via Digitalmars-d-learn
On Tuesday, 20 November 2018 at 19:11:46 UTC, Steven Schveighoffer wrote: But really, it's the act of using a pointer to read/write the data it points at which causes the segfault. And in D, we assume that this action is @safe because of the MMU protecting the first page. This is like me

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-19 Thread NoMoreBugs via Digitalmars-d-learn
On Tuesday, 20 November 2018 at 00:30:44 UTC, Jordi GutiƩrrez Hermoso wrote: Yeah, maybe this bit of C++ syntax isn't the best idea. What about other alternatives? You could try testing for null before dereferencing ;-) If the following code in D, did what you'd reasonably expect it to do,