On Saturday, 26 May 2018 at 11:56:30 UTC, Vijay Nayar wrote:
I've been experimenting with code that uses std.functional :
binaryFun and unaryFun, but I have found that using these
methods makes it impossible to add function attributes like
@safe, @nogc, pure, and nothrow, because no guarantee can be
made about the functions created via a stream. For example, if
you expect a comparator function like "a == b", someone can
pass in "a.data--" instead.
[...]
This is probably a bug. BTree!char.lambda is clearly not the same
as BTree!int.lambda, but the compiler seems to disagree?