Daniel Keep:
> So I put contracts on everything.  Fantastic.  I do a release compile,
> and all that safety disappears.  So only the debug build has contracts
> enabled.  But it's the release build, if it crashes, that I need help
> diagnosing.

A simple solution is to not use -release for the final version of the code, but 
this keeps array bound controls too.
LDC may have already solved your problem, with extra compilation arguments that 
you can use to disable such controls independently from each other.
It's not a fault of design by contract, it's just that the D compiler switches 
are lumped together. It seems a simple to solve problem.

Bye,
bearophile

Reply via email to