On Sunday, 4 March 2018 at 21:03:04 UTC, JN wrote:
Imagine a function like this:

void printValue(T)(string name, T value)
{
  writeln(name, " = ", value);
}

int x = 10;
printValue("x", x);

is it somehow possible to convert that printValue into a mixin or something, so I could do something like:

printValue(x);

and it will figure out the "x" part automatically?

you can pass it by alias:

import std.stdio;

void main(string[] args)
{
    int x;
    printName!(x);
}

void printName(alias var)()
{
    writeln(__traits(identifier, var), " ", var);
}

Reply via email to