Hi,
I don't know if this is known already - I didn't find a similar bug - but either there's a mistake in the documentation or in the current compiler version (DMD 2.065.0 on Windows 7 x64).
The Library documentation for std.container says this concerning DLists:
insert is an alias of insertBack, and therefore "Inserts stuff to the back of the container."
removeAny "Picks one value from the front of the container, removes it from the container, and returns it."
In a recent project, I used insert and removeAny in conjunction to get a queue-like behaviour. Instead, when I tested the code, it behaved like a stack. Therefore, as far as I can tell, either insert has to be an alias of insertFront or removeAny takes elements from the back of the DList.
Comment #1 by safety0ff.bugz — 2014-06-13T15:42:31Z
If you need to have a specific stack/queue, you should really be using the insertFront/insertBack and removeFront/removeBack functions. "insert" and "removeAny" are meant as "implementation defined", and actual behavior can vary from container to container.