Hello!

I just started learning D and I come from a mostly C and C# background. Hello World was working, so I figured that I should try something more complex: a template class and si I went with a simple stack.

Using dmd the code I wrote causes a segmentation fault and I am not sure why.

import std.stdio;
import std.container.slist;


class Stack(T)
{
    SList!(T) s;
    this() {}
    void push(T element)
    {
        s.insertFront(element);
    }
}

int main()
{
    Stack!(int) x;
    writeln("1");
    SList!(int) p;
    writeln("2");
    p.insertFront(42);
    writeln("3");
    x.push(42);
    writeln("4");
    return 0;
}


This program prints the following into the console:
% dmd test.d && ./test
1
2
3
zsh: segmentation fault  ./test


I do not understand why the normal SList works fine but the one inside the object doesn't. What am I overlooking?


Best regards,
Tim

Reply via email to