Why don't Function Lambdas Cast to Delegate?
Rene Zwanenburg via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Nov 21 08:40:59 PST 2016
On Monday, 21 November 2016 at 16:24:38 UTC, 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.
A delegate has the hidden context pointer as parameter in
addition to the 'visible' parameters. That causes functions and
delegates with the same declared params to look different on the
ABI level.
More information about the Digitalmars-d-learn
mailing list