On Thursday, 4 October 2018 at 08:52:50 UTC, Ritchie wrote:
I apologize for not making it clear. I was talking about the private constructor only. The @disable this() is there to prevent struct literal syntax and the other disables really have no reason to be there for the purpose of this question.

Oddly enough I asked this because I was working on something and was able to call the private constructor from another module, but then I created the run.dlang.io snippet to demo my problem.

Right. Reduced your example to this:

module bar;
struct S() {
    private this()(int n) {}
}

module foo;
unittest {
    import bar;
    auto a = S!()(3);
}

This is apparently a known issue:

https://issues.dlang.org/show_bug.cgi?id=18979

which is basically just a special case of this issue:

https://issues.dlang.org/show_bug.cgi?id=2775

--
  Simen

Reply via email to