http://d.puremagic.com/issues/show_bug.cgi?id=4681
--- Comment #7 from David Simcha <dsim...@yahoo.com> 2010-08-20 18:43:24 PDT --- Comment from Shin Fujishiro the Phobos mailing list, reproduced here to make it more public and permanent: Seems like a bug of Appender.writeCapacity(). It often writes 'cap' to wrong address; the following assertion fails: ========== diff --git phobos/std/array.d phobos/std/array.d index 6b62733..e6d3a62 100644 --- phobos/std/array.d +++ phobos/std/array.d @@ -736,10 +736,12 @@ private: auto p = cast(ubyte*) (pArray.ptr + pArray.length); if (cap < ubyte.max) { + assert(p + 1 <= GC.addrOf(pArray.ptr) + GC.sizeOf(pArray.ptr)); *p = cast(ubyte) cap; } else if (cap < ushort.max) { + assert(p + 3 <= GC.addrOf(pArray.ptr) + GC.sizeOf(pArray.ptr)); *p++ = ubyte.max; *p++ = cast(ubyte) cap; *p++ = cast(ubyte) (cap >> 8); ========== Shin -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------