It is imposible to create an empty RedBlackTree:
<pre>
#!/usr/bin/rdmd
import std.stdio, std.conv, std.container;
void main(){
RedBlackTree!ubyte empty_rbt;
writeln( empty_rbt.empty );
}
</pre>
generates
<pre>
core.exception.AssertError@/usr/include/d/dmd/phobos/std/container.d(3556): null this
----------------
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(onAssertErrorMsg+0x36) [0x80a8416]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_d_assert_msg+0x18) [0x809fb98]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D3std9container13__T6RBNodeThZ6RBNode4leftMFNdZPS3std9container13__T6RBNodeThZ6RBNode+0x31) [0x809737d]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D3std9container20__T12RedBlackTreeThZ12RedBlackTree5emptyMFNdZb+0x3b) [0x8096e53]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_Dmain+0x14) [0x8096ab8]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D2rt6dmain24mainUiPPaZi7runMainMFZv+0x1a) [0x809fd46]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x20) [0x809fcd8]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D2rt6dmain24mainUiPPaZi6runAllMFZv+0x32) [0x809fd8a]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x20) [0x809fcd8]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5(main+0x94) [0x809fc84]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb75f0bd6]
/tmp/.rdmd/home/tbolshakov/projects/D/test.d.29218FB0A11840E9986B31A5F7D7F2E5() [0x80969f1]
</pre>
So, it complicates working with the container.
The dmd version:
<pre>
Digital Mars D Compiler v2.052
Copyright (c) 1999-2011 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/2.0/index.html
</pre>
Comment #1 by bearophile_hugs — 2011-03-21T13:17:39Z
*** This issue has been marked as a duplicate of issue 5451 ***