On Friday, 27 December 2019 at 06:08:16 UTC, Marcone wrote:
import std;
import core.thread;

auto threading(lazy void fun){ return task!fun().executeInNewThread(); }

void main(){
        threading(writeln("Hello World!"));
}


I want to create a function threading() to run some function in other threading, but I get this error bellow. How can I get success?


Error: static function Programa.threading.Task!(fun).Task.impl cannot access frame of function Programa.threading Error: template instance `Programa.threading.Task!(fun)` error instantiating

This works:

import std;
import core.thread;

auto threading(void function() fun){ return task(fun).executeInNewThread(); }

void main(){
    writeln("Main: ", thisTid);
        threading({ writeln("Hello, ", thisTid); });
}

Reply via email to