tuple(...).each error; why does foreach work and std.algorithms.each doesn't ?
wjoe
invalid at example.com
Tue Feb 11 18:11:44 UTC 2020
Consider a function to format the parameters of a function call:
pure nothrow string fmtArgs(ARGS...)(ARGS args)
{
string result;
// 1)
foreach(a; args) {
result ~= a.to!string;
}
// 2)
args.each!(a => result ~= a.to!string);
return result;
}
In my mind, if something works with foreach, it should also work
with std.algorithm.each.
However if I try something like 2) the compiler complains with
error: cannot deduce function from argument types !()(uint,
int)...
Technically I'd like to transform args into a range/array of
strings but I'm not smart enough to understand the error messages
these functions in std.algorithms produce.
How is 1) different from 2) ?
More information about the Digitalmars-d-learn
mailing list