On Sunday, 19 July 2020 at 12:08:07 UTC, Paul Backus wrote:
On Saturday, 18 July 2020 at 18:46:16 UTC, Carl Sturtivant wrote:
Here's a toy version of a problem in the wild.

struct S {
    long first;
    union T {
        long one;
        double two;
    }
    T second;
    alias First = first;
    alias Second = second.one;
}

void main() {
    S x;
    x.First = 4;
x.Second = 5; // compilation error: "Error: need this for one of type long"
}

Easiest workaround:

ref inout(long) Second() inout { return second.one; }

Was trying to avoid this for performance reasons. In fact what are the performance implications of this sort of thing with current implementations? --- relative to using a simple offset.

Reply via email to