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