
In-Reply-To: <4343103A.6010007@dcook.org> darren@dcook.org (Darren Cook) wrote (abridged):
I think it is fair to assume people don't have assert(false) in code that is ready for release - it is just used temporarily during debugging.
No, it isn't fair to assume that. I have: if (e) { assert(false); throw "can't happen"; } or similar in release code.
But just to be sure OKAY_TO_USE_ASSUME should be off by default.
A single monolithic switch isn't practical. There is no way to switch OKAY_TO_USE_ASSUME on without first checking whether every piece of code in the program is OK with it.
If that is the behavior of __assume(false), or at least given that it is a reasonable interpretation of what it could do, then including __assume() in BOOST_ASSERT() seems a little dangerous.
Which brings up back to the start of this thread :-).
Quite so. I find I am repeating myself. -- Dave Harris, Nottingham, UK.