On 10/24/2012 01:16 PM, Mehrdad wrote:
On Wednesday, 24 October 2012 at 20:03:44 UTC, H. S. Teoh wrote:
What's wrong with RedBlackTree? You can just do something like:

    RedBlackTree!(RedBlackTree!MySet) setOfSets;


The last time I checked two RedBlackTrees for equality, they seemed to
have reference semantics...


Dang.

import std.container;
import std.stdio;

void main() {
    auto a = make!(RedBlackTree!int)(1,2,3,4);
    auto b = make!(RedBlackTree!int)(1,2,3,4);
    writeln(a == b);
}

prints

false


Explanation: RedBlackTree doesn't override opEquals. Either file an enhancement request or use equal(a[], b[]), depending on whether opEquals *should* have reference semantics.

Actually, it shouldn't, since that would differ from array/string opEquals semantics.

SList works

Array works

Oop. DList goes into infinite loop. Dibs on this bug report.

Reply via email to