--
struct Set(alias less = "a < b", T)
{
        import std.algorithm;
        import std.functional;
        alias lessFun = binaryFun!(less);

        int[] someContents;
        this(R)(R r)
        {
                sort!(lessFun)(someContents);
        }
}

unittest {
        auto as2 = Set!((x,y) => x < y , int)([2, 1, 3]);
}
-- http://dpaste.dzfl.pl/af6cb1a8d8ab

It works, if I provide a normal function or a string lambda as 'less'. However the code above results in the following error:

/d923/f233.d(11): Error: constructor f233.__unittestL15_3.Set!((x, y) => x < y, int).Set.__ctor!(int[]).this cannot get frame pointer to sort

What's wrong?

Reply via email to