uda pattern foo and foo(val)
Steven Schveighoffer
schveiguy at yahoo.com
Wed Sep 23 02:07:04 UTC 2020
On Wednesday, 23 September 2020 at 01:57:08 UTC, Adam D. Ruppe
wrote:
> On Wednesday, 23 September 2020 at 01:45:46 UTC, Steven
> Schveighoffer wrote:
>> @foo int z; // Error: cannot interpret foo(T)(T val) at
>> compile time
>
> Where do you get that error? Is it from phobos' thing? cuz I
> copy/pasted your code and it compiled.
>
> You can also just use a struct as the uda if your detection
> function checks for both the type and a value of the type, so
> it really depends on which search method you using.
I just said pragma(msg, __traits(getAttributes, z))
Well actually the thing I tried is slightly different. As usual I
dumbed it down to post here (maybe was a bad idea).
A struct won’t work because the foo(val) form needs to hold any
type and ifti doesn’t work on constructors.
-Steve
More information about the Digitalmars-d-learn
mailing list