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 ?

Reply via email to