On Saturday, 31 December 2016 at 02:03:07 UTC, rikki cattermole
wrote:
As it should, current is never reassigned.
You only need one var, next. Of course I didn't read the entire
thread chain so, I'm probably missing something.
import std.experimental.allocator;
void main() {
struct S { S* next; }
S* _foo;
foreach (e; 0 .. 10)
_foo = theAllocator.make!S(_foo);
S* next;
next = _foo;
while(next !is null) {
auto nextT = next.next;
theAllocator.dispose(next);
next = nextT;
}
}
Thanks for your response. So next is never null, and thus there
is an infinite loop, correct? If so, why does dub indicate that
all tests are complete?