Andrei Alexandrescu wrote:
grauzone wrote:
Andrei Alexandrescu wrote:
grauzone wrote:
Andrei Alexandrescu wrote:
void fun(...)
{
    ... use void* _argptr and TypeInfo[] _arguments ...
}

I'll ignore the fact that binding the arguments to magic, predefined names has the elegance of a fart interrupting a solemn moment. The larger problem is the type of _argptr.

That surprises me. Your string mixin callbacks (or whatever is the correct name for this idiom) in std.algorithm also use magic, predefined names like "a".

The situations are different. (The "$" in array index is also different.)

How are the situations different?

I don't have much time to explain, but the code in which a and b are used (which is restricted to an expression) cannot possibly define its own symbols called a and b. Also, user code can never define $. In contrast, _arguments is a valid, nonreserved D symbol that's just up for grabs.

K. Then rename _arguments to $arguments. Problem solved.

Reply via email to