Uninitialized object hangs without warning.

Bear Cherian via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Nov 26 10:03:50 PST 2014


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.


More information about the Digitalmars-d-learn mailing list