On Thursday, 17 May 2012 at 10:30:26 UTC, Jacob Carlborg wrote:
Does it work if the lambda is passed to a function:

void foo (int delegate (int x) dg)
{
    wirteln(__traits(codeof, dg);
}

foo(x => x + 1);

Unforutnately, no. As written the lambda is a runtime parameter, so there is no way the trait can get the actual function code. Instead, all that will print is the signature of the delegate.

If that were a template parameter, it would theoretically be possible to print the lambda expression, but as currently implemented it doesn't.

Reply via email to