http://d.puremagic.com/issues/show_bug.cgi?id=9122
Martin Nowak <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #6 from Martin Nowak <[email protected]> 2013-05-14 20:07:55 PDT --- (In reply to comment #5) > The Variant is defined like: > alias VariantN!(maxSize!(creal, char[], void delegate())) Variant; > so it has already a fixed size. The constructor can cope with the bigger size > and will adjust, but the opAssign does not. OpAssign moves the assigned value onto the heap so this is not the problem. https://github.com/D-Programming-Language/phobos/blob/c319b1578f28e00124d2f0c2a492790d01ca5159/std/variant.d#L545 Also the following code works correctly for me on 2.062. --- import std.variant, std.stdio; struct S { int p1, p2, p3, p4, p5, p6; } void main() { Variant v1 = S(1, 2, 3, 4, 5, 6); writeln(v1); Variant v2; writeln(v2); v2 = v1; // assert writeln(v2); } --- The bug seems to be in the handler for OpID.copyOut. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
