On Monday, February 20, 2012 11:40:40 H. S. Teoh wrote: > On Mon, Feb 20, 2012 at 07:42:07PM +0100, a wrote: > > >But if you only access it via push() and pop(), then there are no > > >other references to the stack, so why should the GC reallocate it > > >on append? > > > > Because the GC doesn't know there aren't any other references to it > > unless you tell it with assumeSafeAppend. > > Ahh, I see. Thanks!
Nick ran into this problem and ended up writing an article on it: https://www.semitwist.com/articles/article/view/don-t-use-arrays-as-stacks And, of course, if you haven't read Steven's article on arrays, you should read that: http://www.dsource.org/projects/dcollections/wiki/ArrayArticle In fact, we really should get Steven's article up on dlang.org. It's one of those articles that _every_ D programmer should read. - Jonathan M Davis
