On 3/19/18 5:16 AM, Viktor wrote:


Hi Steve, thanks for replying!

I've also noticed that RedBlackTree.opEquals() is like this from the initial pull request and was wondering if noone has been using a delegate and why...

typically, you don't need a delegate, but generally, you CAN use a delegate as an alias "less" function. I don't see why it should be restricted here.

But this is probably why nobody ever found it -- most people just use the default lambda.


On the second topic, I've tried that and it doesn't work. I have a minimal test program that shows the issue.

https://run.dlang.io/is/WNF78H

Oh! I totally missed that comp is a member function (in your first example). I thought it was passed in. Sorry for not taking a closer look.

Yes, you need a `this` pointer for it to work. However, we can do this by encapsulating the return type with an auto function:

https://run.dlang.io/is/inSzaU

Sorry I didn't get this right away. Interesting chicken-and-egg problem, but as usual, D delivers :)

-Steve

Reply via email to