www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 11129] New: multiSort doesn't work with std.container.Array

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11129

           Summary: multiSort doesn't work with std.container.Array
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: lomereiter gmail.com



PDT ---
import std.container, std.algorithm;
void main() {
    auto a = Array!int(1, 2, 3); 
    multiSort!("a < b", "a < b")(a[]);
}

Output of DMD 2.063:

...algorithm.d(8244): Error: template std.algorithm.partition3 does not match
any function template declaration. Candidates are:
...algorithm.d(7815):        std.algorithm.partition3(alias less = "a < b",
SwapStrategy ss = SwapStrategy.unstable, Range, E)(Range r, E pivot) if (ss ==
SwapStrategy.unstable && isRandomAccessRange!(Range) &&
hasSwappableElements!(Range) && hasLength!(Range) &&
is(typeof(binaryFun!(less)(r.front, pivot)) == bool) &&
is(typeof(binaryFun!(less)(pivot, r.front)) == bool) &&
is(typeof(binaryFun!(less)(r.front, r.front)) == bool))
...algorithm.d(8244): Error: template std.algorithm.partition3(alias less = "a
< b", SwapStrategy ss = SwapStrategy.unstable, Range, E)(Range r, E pivot) if
(ss == SwapStrategy.unstable && isRandomAccessRange!(Range) &&
hasSwappableElements!(Range) && hasLength!(Range) &&
is(typeof(binaryFun!(less)(r.front, pivot)) == bool) &&
is(typeof(binaryFun!(less)(pivot, r.front)) == bool) &&
is(typeof(binaryFun!(less)(r.front, r.front)) == bool)) cannot deduce template
function from argument types !("a < b", cast(SwapStrategy)0)(Range, int)
...algorithm.d(8244): Error: template instance partition3!("a < b",
cast(SwapStrategy)0) errors instantiating template
test.d(4): Error: template instance std.algorithm.multiSort!("a < b", "a <
b").multiSort!(Range) error instantiating

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 27 2013
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11129


monarchdodra gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |monarchdodra gmail.com



Looks like an "hasAssignable" vs "hasSwapable" issue.

On it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 27 2013