On Tuesday, 8 July 2014 at 11:16:52 UTC, Marc Schütz wrote:
Your example above doesn't work, because it would be interpreted as a redefinition of the struct. 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

Thanks, that is what I was looking for.

Reply via email to