Is there an alternative to "__FUNCTION__" that gives the actual function symbol and not the name as a string?
Simon
simon.vanbernem at yahoo.de
Sat Oct 23 18:56:48 UTC 2021
On Saturday, 23 October 2021 at 18:36:27 UTC, Tim wrote:
> On Saturday, 23 October 2021 at 18:23:47 UTC, Simon wrote:
>> So what I am looking for then is the equivalent to
>> __FUNCTION__ that evaluates to the actual symbol of the
>> function instead of its name, so it can be used as a parameter
>> to ParameterIdentifierTuple.
>
> You could use the following:
>
> alias F = __traits(parent, {});
>
> The lambda {} is a symbol inside the function. F will be its
> parent, which is the function itself.
So before I had OUTPUT_REPRO_CASE defined like this:
enum OUTPUT_REPRO_CASE(alias func) = "build the actual code stuff
with"~fullyQualifiedName!func~" and so on";
And I tried to use your suggestion like this:
enum OUTPUT_REPRO_CASE(alias func = __traits(parent, {})) =
"build the actual code stuff with"~fullyQualifiedName!func~" and
so on";
Which doesn't work. In that case func seems to become the parent
namespace. If I substitute fullyQualifiedName!func with
fullyQualifiedName!(__traits(parent, {}))) I get a circular
dependecy error.
How do I have to use this exactly?
More information about the Digitalmars-d-learn
mailing list