builtin sort
monarch_dodra
monarchdodra at gmail.com
Sat Jun 8 02:16:21 PDT 2013
On Saturday, 8 June 2013 at 08:52:22 UTC, Jonathan M Davis wrote:
> However, we really, really need to deprecate the built-in sort
> - especially
> when a pair of parens can make the difference between whether
> you call the
> built-in sort or std.algorithm's sort - and it's particularly
> broken with
> regards to Unicode.
>
> - Jonathan M Davis
Or anything that uses non-POD comparison (opCmp) for that matter:
//----
import std.stdio;
import std.algorithm;
struct S
{
int i;
int opCmp(S o)
{
return (i < o.i) - (i > o.i); //inverse order
}
}
void main()
{
auto a = [S(1), S(2), S(3)];
writeln(a); //[S(1), S(2), S(3)]
a.sort;
writeln(a); //[S(1), S(2), S(3)]
a.sort();
writeln(a); //[S(3), S(2), S(1)]
}
//----
I had pretty much forgotten ".sort" even existed (it really never
even crossed my mind that it could be built-in), and given the
push for optional parenthesis in general (especially in UFCS call
chains), I can say I am surprised by this behavior.
More information about the Digitalmars-d
mailing list