Struct initializer in UDA
Anonymouse
zorael at gmail.com
Sat Sep 26 17:13:17 UTC 2020
On Saturday, 26 September 2020 at 16:05:58 UTC, realhet wrote:
> Hi,
>
> struct S{int a, b, c=9, d, e, f;}
>
> Is there a way or a trick to declare an UDA by using a nice
> struct initializer?
>
> It would be nice to be able to use the form:
>
> @S{f:42} int a; //or something similar to this.
>
> instead of this longer and error-prone way:
>
> @S(0, 0, 0, 9, 0, 42) int a;
I don't think you can currently, no, but I'd be happy to be
proven wrong.
The closest I can get is @(S.init.c(9).f(42)) with use of
opDispatch, which is easier to read but still ugly.
More information about the Digitalmars-d-learn
mailing list