What's wrong with std.variant.Variant?

Paul Backus snarwin at gmail.com
Sat Jun 13 20:05:34 UTC 2020


On Saturday, 13 June 2020 at 19:10:04 UTC, Andrei Alexandrescu 
wrote:
> I was curious about collecting a list of grievances about 
> Variant. It's the oldest piece of generic code in std, and it 
> predates a lot of good language additions.
>
> So what's wrong with Variant? One thing I collected from a 
> coworker is that it doesn't work with Windows DLLs, because in 
> turn typeof() comparison does not work across Windows DLLs.
>
> What are other problems with it?

Here's what I found searching for "variant" on bugzilla:

https://issues.dlang.org/show_bug.cgi?id=10223
https://issues.dlang.org/show_bug.cgi?id=12944
https://issues.dlang.org/show_bug.cgi?id=11864
https://issues.dlang.org/show_bug.cgi?id=12997
https://issues.dlang.org/show_bug.cgi?id=14062
https://issues.dlang.org/show_bug.cgi?id=15615
https://issues.dlang.org/show_bug.cgi?id=18780
https://issues.dlang.org/show_bug.cgi?id=18339
https://issues.dlang.org/show_bug.cgi?id=18183
https://issues.dlang.org/show_bug.cgi?id=20793
https://issues.dlang.org/show_bug.cgi?id=20666
https://issues.dlang.org/show_bug.cgi?id=20360
https://issues.dlang.org/show_bug.cgi?id=20030

Common themes:
  - issues with type conversions (esp. regarding const)
  - doesn't work with D's static analysis features (@safe, pure, 
etc.)
  - incorrect behavior for large types that require boxing


More information about the Digitalmars-d mailing list