On Wednesday, 23 May 2018 at 14:19:31 UTC, Steven Schveighoffer
wrote:
On 5/23/18 9:59 AM, Alex wrote:
On Wednesday, 23 May 2018 at 13:49:45 UTC, Steven
Schveighoffer wrote:
Right, but not foreach(el1, el2; c), which is the equivalent
of your each call.
Yes. I tried this in the first place and get a compiler error.
But it seemed logical to me, that if I define two opApply
overloads, which both matches two arguments, then I need to
specify which one I want to use. I achieved this by specifying
the types inside the foreach... concisely enough for me :)
So... I'm looking how to do the same with ´each´, as defining
the type of the lambda didn't help.
In your example, you did not define the types for the lambda
(you used (a, b) => writeln(a, b) ). But I suspect `each` is
not going to work even if you did.
Yep. Tried this...
In essence, `each` does not know what the lambda requires,
especially if it is a typeless lambda. So it essentially needs
to replicate what foreach would do -- try each of the
overloads, and if one matches, use it, if none or more than one
matches, fail.
I suspect it's more complex, and I'm not sure that it can be
done with the current tools. But it's definitely a bug that it
doesn't work when you specify the types.
Ah... ok. Then, let me file a bug...