strtr wrote:
struct S{
        int[2] arr = 0;

        static S opCall( int i1_, int i2_) {
                S res = void;
                res.arr[0] = i1_;
                res.arr[1] = i2_;
                return res;
        }
}

const S CS= S(0,0);

Why can't this be evaluated at compile time?
(And how do I fix it :))

Because expressions of the form a.b[i]= c aren't yet supported in CTFE.
It will work in a couple of compiler releases from now.
Workaround:
int[2] x;
x[0]=i1_;
x[1]=i2_;
res.arr=x;

Reply via email to