http://d.puremagic.com/issues/show_bug.cgi?id=3407
--- Comment #3 from Don <clugd...@yahoo.com.au> 2009-10-30 08:38:34 PDT --- > -safe: "Do whatever the hell it takes to make sure my program never has a > memory error" > > -release: "I've tested and debugged my programs, eliminate runtime design > checks" > > Compiling with -safe implies array bounds checks stay, come hell or high > water. > Compiling with -release means the contracts and assert are removed. Those > can't > cause memory errors. Only non-safe builds will remove array bounds checks. The current -safe guarantees that you never have to debug memory corruption problems, which can be notoriously difficult to track down. I would use it 100% of the time. But I'd always have bounds checking off in production code, it hurts performance too much. Actually, I think what this issue is, is that you need an option to have contracts and asserts turned off, while leaving bounds checking on. compile runtime safe bounds contracts Y Y Y Y N N <---- I want to keep this option Y Y N <---- You're saying we need this option I think -release is a misnomer, and should be split in two. (Actually I think since we have module(system), we'll probably be able make -safe mandatory, eventually). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------