Error using `equal` with various string types
Steven Schveighoffer
schveiguy at yahoo.com
Sat Feb 23 20:05:05 PST 2013
On Sat, 23 Feb 2013 22:39:55 -0500, Andrej Mitrovic
<andrej.mitrovich at gmail.com> wrote:
> It seems this doesn't work:
>
> import std.algorithm;
> auto b1 = qual(["foo"d], ["foo"]);
> auto b2 = equal(["foo"d.dup], ["foo"]);
>
> It's due to a constraint failure:
> is(typeof(r1.front == r2.front))
>
> The first call is:
> immutable(dchar)[]
> string
>
> The second:
> dchar[]
> string
>
> Anyway can we make `equal` work with these? It would be really useful
> if it worked.
Need an overload with a constraint like:
if(isInputRange!typeof(r1.front) && isInputRange!typeof(r2.front) &&
is(typeof(equal(r1.front, r2.front))))
that recursively calls equal
-Steve
More information about the Digitalmars-d-learn
mailing list