On Tuesday, 6 February 2018 at 23:50:52 UTC, dekevin wrote:
On Tuesday, 6 February 2018 at 23:21:36 UTC, Jonathan M Davis
wrote:
[...]
Thanks a lot! I will change all my initialisations to static
constructors now.
The only additional problem I have, is that ℚInf has a disabled
default constructor.
Is there a way to allow shared static constructors, but not the
default constructor?
struct ℚInf {
ℚ qval;
immutable static ℚInf zero;
@disable this();
shared static this() {
zero.qval = ℚ(0);
}
this(long num, long den) {
qval = ℚ(num,den); //this initialisation requires
dynamically linked code
}
}
Best,
Kevin
I should perhaps add, that I get the following DMD error message:
source/intervalarithmeticrationals.d(15): Error: variable
intervalarithmeticrationals.ℚInf.posinf default construction is
disabled for type immutable(ℚInf)