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);
}