import std.container;
import std.stdio;

void main()
{
   DList!int list;
   Array!(DList!int.Range) stack;
   foreach(i; 0 .. 4)
   {
      list.stableInsertBack(i);
      stack.insertBack(list[]);
   }

   writefln("list: %s", list[]); // fine
   writefln("stack: %s", stack[]); //fine

   foreach(s; stack[])
      writefln("s: %s", s); // all s are empty?

   writefln("stack: %s", stack[]); //not fine
}

It prints:

list: [0, 1, 2, 3]
stack: [[0], [0, 1], [0, 1, 2], [0, 1, 2, 3]]
s: []
s: []
s: []
s: []
stack: [[], [], [], []]

Reply via email to