On Friday, 21 June 2013 at 14:08:43 UTC, Sergei Nosov wrote:
Hi!

I've been thinking about how alias template parameters work and I'm really confused =)

It makes perfect sense for literals, names, etc. But what I can't get is how does it work for delegates.

If I have a function
auto apply(alias fun, T...)(T args)
{
    return fun(args);
}

And then I have
int y = 2;
apply!(x => y)(1);

How in the world does this work? Is the context address known at compile-time?

y is allocated on the heap and the pointer is implicitly passed to the apply, or is a field of a struct if you use map!(x => y) instead.

Reply via email to