Do reflexivity check in assert mode if predicate is claimed to be equivalence relation.

This commit is contained in:
H. S. Teoh 2014-11-05 22:03:15 -08:00
parent ab72e3cf51
commit b7c3816fdb

View file

@ -4663,7 +4663,14 @@ private struct GroupByImpl(alias pred, IsEquivRelation isEquivRelation, Range)
{
r = _r;
if (!empty)
{
// Check reflexivity if predicate is claimed to be an equivalence
// relation.
assert(!isEquivRelation || pred(r.front, r.front),
"predicate " ~ pred.stringof ~ " is claimed to be "~
"equivalence relation yet isn't reflexive");
savePrev();
}
}
@property bool empty() { return r.empty; }