Thanks Steven and Daniel for your explanations.

    mixin template opAssign(alias Field) {
void opAssign(Tin)(auto ref Tin param) @property pure @safe
        {
            Field = param;
            m_matrixCalculated = false;
        }
    }

    mixin opAssign!(m_pos)   pos;

I tested both the "string mixin" and "opAssign" implementations, and they work like a charm. I would have never thought of using both @property and "opAssign", but it looks like a secure way of doing it for the compilation fails nicely if I type a wrong field in.

src/camera.d(58): Error: undefined identifier m_os, did you mean variable m_pos?

Reply via email to