AliasSeq in UDA

Basile B. b2.temp at gmx.com
Sun Mar 10 16:46:43 UTC 2019


On Sunday, 10 March 2019 at 16:05:19 UTC, Sebastiaan Koppe wrote:
> On Sunday, 10 March 2019 at 13:41:32 UTC, Basile B. wrote:
>> It looks like a bug, a "reject-valid" one.
>> Try the same code with
>>
>>     enum A = 0;
>>
>> and it work, despite of B being still opaque. The problem may 
>> be related to the fact the enum A in the orginal code is 
>> opaque and has not type.
>
> Thanks. The example I posted was a reduced case, but I can 
> still use your trick to fool the compiler.
>
> The following is more real:
>
> ---
>
> import std.meta;
>
> enum A; enum B; enum Dummy = 0; // <- Dummy needs to be 0
>
> struct Param(alias T) {}
>
> @AliasSeq!(Dummy,Param!A,Param!B) // <- Here Dummy is needed
> struct Foo {}
>
> pragma(msg, __traits(getAttributes, Foo));
>
> void main() {}
>
> ---
>
> I have created an issue: 
> https://issues.dlang.org/show_bug.cgi?id=19728

Yes I see. I've refined a bit the test case and maybe I'll took a 
look this week.


More information about the Digitalmars-d-learn mailing list