Bug 7125 – semi stable sort is not supported

Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-12-17T05:33:00Z
Last change time
2014-03-19T22:25:40Z
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2011-12-17T05:33:37Z
Following code does not compile, import std.algorithm; void main() { auto r1 = sort!("a<b", SwapStrategy.unstable)([1,3,2,4]); assert(equal(r1, [1,2,3,4])); auto r2 = sort!("a<b", SwapStrategy.semistable)([1,3,2,4]); // Line 7 assert(equal(r2, [1,2,3,4])); auto r3 = sort!("a<b", SwapStrategy.stable)([1,3,2,4]); assert(equal(r3, [1,2,3,4])); } Output: C:\dmd2\src\phobos\std\algorithm.d(7001): Error: static assert (cast(SwapStrategy)1 != cast(SwapStrategy)1) is false C:\dmd2\src\phobos\std\algorithm.d(6710): instantiated from here: sortImpl!(result,ss,int[]) test.d(7): instantiated from here: sort!("a<b",cast(SwapStrategy)1,int[]) Semi-stable sort is stable sort. So if stable sort is supported, we can implement it with stable sort, at least.
Comment #1 by lt.infiltrator — 2014-03-19T22:25:40Z
The provided code compiles and runs without problems as of v2.065.