On Wednesday, 13 July 2016 at 12:28:57 UTC, zodd wrote:
This code works as I expected but I'm unsure that it's correct.

Yes, your code is legal.

What isn't legal is using some type that isn't there at runtime, like

union A {
   int[] a;
   char[] b;
}

A u;

u.a = [1,2];

u.b.length


The compiler will let you do it, but being a union, it will show length == 1 because it was set to an int[], but that's not really correct for a char[].


But the way you did it, initializing to the proper type before accessing it, is allowed.

Reply via email to