On 11/21/16 11:24 AM, Q. Schroll wrote:
Why don't lambdas cast to a delegate if they are of type R
function(Args)? I don't see any reason to that; a lambda should be a
delegate type by default, and a function only as a special
guarantee/optimization. It just makes them cumbersome to use with
toDelegate.
Probably there is a good reason why R function(Args) does not implicitly
cast to R delegate(Args); I can imagine something internally (memory
layout etc.) causes that. I'd just like to know.

The ABI for function calls is different than the ABI for delegate calls. I believe this is a necessary limitation due to ABIs on some platforms, but I'm not 100% sure. It could just be a legacy issue.

-Steve

Reply via email to