Pass lambda into template

Paul Backus snarwin at gmail.com
Mon Sep 3 19:26:19 UTC 2018


On Monday, 3 September 2018 at 09:09:44 UTC, Andrey wrote:
> Hello,
>
> Here is a code with comments: https://run.dlang.io/is/BNl2Up.
>
> I don't understand how to pass lambda into template.
> I get an error:
>>onlineapp.d(18): Error: template instance `qwerty!((i) => "arg" 
>>~ i.to!string ~ "[0] == '?'", "||")` cannot use local __lambda1 
>>as parameter to non-global template qwerty(alias mapper, alias 
>>delimiter)

Congratulations, you've run into one of D's oldest and most 
annoying known bugs, issue 5710: 
https://issues.dlang.org/show_bug.cgi?id=5710

The solution is to define `qwerty` outside of `exec`, and add an 
additional parameter to pass in `count`: 
https://run.dlang.io/is/VTeizm


More information about the Digitalmars-d-learn mailing list