Marc Schütz:

Instead, you can use a public alias to a private type:

// my_module.d:

private struct MyStructImpl {
    int x;
}

public alias MyStructPtr = MyStructImpl*;

void doSomething(MyStructPtr foo) {
    ...
}

// my_main_program.d:

MyStructPtr bar;    // OK
MyStructImpl foo;   // Error: my_module.MyStructImpl is private

I still don't understand the point of doing this. Is @disable this usable here?

Bye,
bearophile

Reply via email to