On Thursday, 1 August 2013 at 12:55:30 UTC, John Colvin wrote:
On Thursday, 1 August 2013 at 12:27:51 UTC, Ivan Kazmenko wrote:
On a relevant note, I find the unittests of RedBlackTree a bit
excessive even when they compile successfully. They seem to
test the integrity of the whole tree every time a tree
operation takes place, and that makes the unittests version of
my local code run too slowly. Is there a way to turn
unittests on only for user code and turn them off for the
standard library?
Ivan Kazmenko.
Unless you've compiled phobos with -unittest, the unittests in
the standard library won't even exist in the binary, let alone
take up time to run.
Unless... I'm mistaken and actually for some bizarre reason
unittests get dragged in from the import files, but that seems
very unlikely.
There is a
version(unittest) version = RBDoChecks;
line and the following
version(RBDoChecks) check();
calls in the tree implementation.
Perhaps the approach is special to RedBlackTree.
I agree that RBDoChecks can be useful occasionally, for example,
when there is a bug in comparison function. But I would be happy
if the aforementioned line is removed from the library, or at
least a way to override it is provided.