On 01/04/2018 11:16 AM, Marc wrote:
For code generation purposes, I'd like to pass a type name to base class. I'm not sure if it's supported, I didn't find anything at documentation for class constructor but it does compile:

class A {
    static {
        int a, b;
    }

    this(T)() {

    }
}

then do something like this:

class B {
 this() {
   super!B;
 }
}

but I got the error:

found ! when expecting ; following statement

Checkout the "this template parameter":

class A {
    static {
        int a, b;
    }

    this(this T)() {
        import std.stdio;
        writeln(T.stringof);
    }
}

class B : A {
    this() {
        super();
    }
}

void main() {
    auto b = new B();
}

Ali

Reply via email to