Likely closure memory corruption
deadalnix
deadalnix at gmail.com
Sun Mar 3 08:48:31 PST 2013
auto objectSource = new FileSource("../libs/object.d");
auto object = lex!((line, index, length) {
import std.stdio;
writeln("new location 2 ! ", cast(void*) objectSource);
return Location(objectSource, line, index, length);
})(objectSource.content);
Running this, I see that at some point, objectSource is changed.
The output is
new location 2 ! 7F494EEC1D40
new location 2 ! 7F494EEC1D40
...
new location 2 ! 7F494EEC1D40
new location 2 ! 7F494EEC2EA0
Obviously, the program segfault soon after that.
It sounds like some memory corruption occurs under the hood. What
can I do to work around that bug and to help solving it ?
More information about the Digitalmars-d
mailing list