On Wednesday, 1 February 2017 at 21:55:40 UTC, Dukc wrote:
On Wednesday, 1 February 2017 at 19:25:07 UTC, Ali Çehreli

Regarding that, I have trought that wouldn't it be better if it was bounds checking instead of debug vs release what determined if in contracts are called? If the contract had asserts, they would still be compiled out in release mode like all asserts are. But if it had enforce():s, their existence would obey the same logic as array bounds checks.

This would let users to implement custom bounds checked types. Fibers for example could be made @trusted, with no loss in performance for @system code in release mode.

The right move is to ship a compiled debug version of the library, if closed source, along with the release one. I still don't understand why that's not the default also for Phobos and runtime....

/Paolo

Reply via email to