mirror of
https://github.com/dlang/phobos.git
synced 2025-05-02 08:00:48 +03:00
Merge pull request #6032 from RazvanN7/Issue_18230
Fix Issue 18230 - multiwayUnion sets wrong pred lambdas merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
This commit is contained in:
commit
17fbc92d59
1 changed files with 11 additions and 1 deletions
|
@ -949,7 +949,8 @@ See also: $(LREF multiwayMerge)
|
||||||
auto multiwayUnion(alias less = "a < b", RangeOfRanges)(RangeOfRanges ror)
|
auto multiwayUnion(alias less = "a < b", RangeOfRanges)(RangeOfRanges ror)
|
||||||
{
|
{
|
||||||
import std.algorithm.iteration : uniq;
|
import std.algorithm.iteration : uniq;
|
||||||
return ror.multiwayMerge.uniq;
|
import std.functional : not;
|
||||||
|
return ror.multiwayMerge!(less).uniq!(not!less);
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -980,6 +981,15 @@ auto multiwayUnion(alias less = "a < b", RangeOfRanges)(RangeOfRanges ror)
|
||||||
[ 7 ],
|
[ 7 ],
|
||||||
];
|
];
|
||||||
assert(equal(multiwayUnion(b), witness));
|
assert(equal(multiwayUnion(b), witness));
|
||||||
|
|
||||||
|
double[][] c =
|
||||||
|
[
|
||||||
|
[9, 8, 8, 8, 7, 6],
|
||||||
|
[9, 8, 6],
|
||||||
|
[9, 8, 5]
|
||||||
|
];
|
||||||
|
auto witness2 = [9, 8, 7, 6, 5];
|
||||||
|
assert(equal(multiwayUnion!"a > b"(c), witness2));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue