On Friday, 17 November 2017 at 02:25:21 UTC, codephantom wrote:
On Friday, 17 November 2017 at 01:47:01 UTC, Michael V. Franklin wrote:

It peeked my interested, because when I first started studying D, the lack of any warning or error for this trivial case surprised me.

// Example A
class Test
{
    int Value;
}

void main(string[] args)
{
    Test t;
t.Value++; // No compiler error, or warning. Runtime error!
}


Also, if you start with nothing, and add 1 to it, you still end up with nothing, cause you started with nothing. That makes completed sense to me. So why should that be invalid?

You are not ending with nothing, you are ending with a run time error in D. In C# it's a compile-time error. Ideally, something ending for sure in an error at run time, must be catch at compile-time.


Reply via email to