Access to intersection fields of an algebraic data type
Meta
jared771 at gmail.com
Sat Jan 19 17:51:58 UTC 2019
On Saturday, 19 January 2019 at 17:40:53 UTC, sighoya wrote:
> Is there a solution for the following problem:
>
> import std.variant : Algebraic;
>
> struct A
> {
> int a=2;
> }
>
> struct B
> {
> int a=2;
> };
>
> void main()
> {
> Algebraic!(A,B) c=A();
> writeln(c.a);
> return;
> }
>
> Error: no property a for type VariantN!(4LU, A, B)
You want the untyped version of std.variant.visit:
writeln(c.visit!(aOrB => aOrB.a));
More information about the Digitalmars-d
mailing list