D-Programming-Language/phobos — pull request #2457 by monarchdodra (2014-08-23 08:25:21+00:00)
Title: Split DList Node into DNode and PayNode.

This splits the "Nodes" in DList into two types of node:
- The "base" DNode that has no payload.
- The "derived" PayLoad: A DNode with a payload.

Doing this helps avoid allocating a T for no reason in the sentinel node. It should also remove some template bloat, as a few functions actually had no dependency on the type carried by the payload.

@DmitryOlshansky : What do you think?