On Thu, Nov 12, 2020 at 4:12 PM Daniel Kozak <kozzi11@gmail.com> wrote:
On Thu, Nov 12, 2020 at 4:05 PM Ruby The Roobster via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
Here is a test that I did:

void func(int i)
{
Thread.sleep(i.seconds);
}
void main() {
auto test = Task!func(3);
test.executeInNewThread();
test.yeildForce();
}

This gives the following errors(I'm using Code::Blocks as an IDE
by the way, so this is what the IDE outputted):
d:\Programs\D\dmd2\windows\bin\..\..\src\phobos\std\parallelism.d|516|Error: function `hello.func(int i)` is not callable using argument types `()`|

d:\Programs\D\dmd2\windows\bin\..\..\src\phobos\std\parallelism.d|516|       missing argument for parameter #1: `int i`|

hello.d|8|Error: template instance `std.parallelism.Task!(func)`
error instantiating|


Any fix for this?

You have some typos there

import core.thread;
import std.parallelism;

void func(int i)
{
    Thread.sleep(i.seconds);
}
void main() {
    auto test = task!(func)(3);
    test.executeInNewThread();
    test.yieldForce();

Typos: instead of Task you should write task, instead of  yeildForce you should write yieldForce