On Wednesday, 3 February 2016 at 17:12:03 UTC, xtreak wrote:
I was reporting a patch for the regression by removing the code that was causing the error. The bug was that map was not accepting multiple lambdas. It was suggested to check for void functions and lambdas. I couldn't find a function to check for return type in the std.traits. I tried the explicit for loop thus checking for the void functions as in the else case. I am D newbie it will be helpful in having the community help me in fixing the issue.

foreach(g, i; fun) {
  alias k = unaryFun!(fun[g]);
static assert(!is(AppliedReturnType!k == void), "Mapping function must not return void.");
}

Bug report : https://issues.dlang.org/show_bug.cgi?id=15480
Seems depends on : https://issues.dlang.org/show_bug.cgi?id=5710
Pull request : https://github.com/D-Programming-Language/phobos/pull/3963 Introduced as a part of https://github.com/D-Programming-Language/phobos/pull/1917

Unles I'm misunderstanding you, you can get the return type of a function by using std.traits.ReturnType:

void test() {}
static assert(is(ReturnType!test == void));

Reply via email to