Re: Uninitialized object hangs without warning.
On Wednesday, 26 November 2014 at 09:38:11 UTC, bearophile wrote: Bear Cherian: Class MyClass{ this(){} void someFunction(){ //body } } And in my app I had something like MyClass classObject; classObject.someFunction(); When I compile, no warnings or errors. If you compile that code (with lowercase Class) with -O the compiler finds the bug: class MyClass { this() {} void someFunction() { //body } } void main() { MyClass classObject; classObject.someFunction; } test.d(11,5): Error: null dereference in function _Dmain But in more complex cases the compiler doesn't. Bye, bearophile Yes, the capital C was a typo. I still think this shouldn't be an optimization. Maybe I'm just used to Java, as this would be a compile error by default.
Uninitialized object hangs without warning.
I ran into this a while ago and have already moved on, but I had a class such as this Class MyClass{ this(){} void someFunction(){ //body } } And in my app I had something like MyClass classObject; classObject.someFunction(); When I compile, no warnings or errors. But when I run the application it just hangs at the function call. Eventually the app kills itself. The problem is classObject is never initialized. This drove me crazy for an entire evening before I added a bunch of debug lines to narrow it down and then visually saw what the problem was. I feel there should be some type of warning or error when compiling, or an error when we get to classObject.someFunction(). This is on 2.065, so forgive me if this has already been addressed. Again, it's been a while since I actually encountered the error, so not sure if i missed an aspect of it.