[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 Steven Schveighofferchanged: What|Removed |Added Status|NEW |RESOLVED CC||schvei...@yahoo.com Resolution|--- |DUPLICATE --- Comment #4 from Steven Schveighoffer --- Should be fixed by PR in 13262. Almost the exact code in the OP's comment is now in a unit test: https://github.com/dlang/phobos/blob/752fc0323a92d37056bb373cf8b91885a6406320/std/variant.d#L1390 *** This issue has been marked as a duplicate of issue 13262 *** --
[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 --- Comment #3 from anonymous4--- std.concurrency problem is fixed in issue 13262, though don't know if it applies to all uses of variant. --
[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 anonymous4changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=13262 --
[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 Sobirari Muhomorichanged: What|Removed |Added Hardware|Other |All See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=5538 --
[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 --- Comment #2 from Sobirari Muhomori--- Also affected shared and immutable AAs. Ideally Variant should be covered for supported types and their shared and immutable variants. --
[Issue 6585] std.variant cannot handle shared arrays
https://issues.dlang.org/show_bug.cgi?id=6585 jean-loup.tas...@epfl.ch changed: What|Removed |Added CC||jean-loup.tas...@epfl.ch Component|DMD |Phobos --- Comment #1 from jean-loup.tas...@epfl.ch --- This bug is still present in Phobos 2.065.0. See: http://dpaste.dzfl.pl/79743d502b27 As pointed out by David, this seems to be caused by Variant trying to pass a shared(double)* to the C function stdc.string.memcpy (btw, it is not specific to double). The error message has now become more cryptic. The same test case for Variant (http://dpaste.dzfl.pl/e0dcfdf241bb) now gives (truncated output for DMD): --- /usr/include/dlang/dmd/std/variant.d(585): Error: function core.stdc.string.memcpy (void* s1, const(void*) s2, ulong n) is not callable using argument types (ubyte[32]*, shared(double)*, ulong) /usr/include/dlang/dmd/std/variant.d(427): Error: template instance std.variant.VariantN!(32LU).VariantN.opAssign!(shared(double)) error instantiating --- --