Bug 17987 – Cannot use string in Variant at compile time

Status
RESOLVED
Resolution
DUPLICATE
Severity
enhancement
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2017-11-17T12:21:27Z
Last change time
2020-06-13T19:34:16Z
Assigned to
No Owner
Creator
Jonathan M Davis

Comments

Comment #0 by issues.dlang — 2017-11-17T12:21:27Z
This code ========== import std.variant; Variant v = "hello"; void main() { } ========== results in this error: /usr/local/include/dmd/std/variant.d(624): Error: memcpy cannot be interpreted at compile time, because it has no available source code /usr/local/include/dmd/std/variant.d(559): called from here: this.opAssign(value) q.d(3): called from here: VariantN(& handler, cast(ubyte)0u, ).this("hello") I would _think_ that it could be made to work without memcpy, but I don't know. Regardless, the use of memcpy restricts the ability to use Variant at compile time. So ideally, Variant would be fixed so that the example here worked.
Comment #1 by snarwin+bugzilla — 2020-06-13T19:34:16Z
*** This issue has been marked as a duplicate of issue 11864 ***