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