Acces Violation: assert with null instance
    Frits van Bommel 
    fvbommel at REMwOVExCAPSs.nl
       
    Fri Jan 26 10:08:20 PST 2007
    
    
  
Sean Kelly wrote:
> Frits van Bommel wrote:
>> Yes, an assert(o !is null) is performed. But it's performed *inside* 
>> _d_invariant, which is part of Phobos. And since Phobos is only 
>> distributed as a release build, that means the assert is off by 
>> default _even if *your* program has asserts enabled_. You need to 
>> recompile Phobos to change this behavior. This is bad.
>>
>> Perhaps that assert should just be converted to an "if (!o) 
>> _d_assert(__FILE__, __LINE__)" since _d_invariant will (presumably) 
>> only be called if the application has assertions enabled?
> 
> I think the problem is more that Phobos only ships with a release build 
> rather than that the code is broken.  What should probably be the case 
> is that DMD should link phobos.lib if -release is set and link 
> phobosd.lib otherwise.  Specifying both -debug and -release... well, I'm 
> not sure what that does so I can't say :-)
Separate libraries is also an option, of course ;).
    
    
More information about the Digitalmars-d-bugs
mailing list