[Issue 8608] New: CTFE seems to be invoked implicitly(std.parallelism.task)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Sep 2 11:36:30 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=8608

           Summary: CTFE seems to be invoked
                    implicitly(std.parallelism.task)
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: eyyub.pangearaion at gmail.com


--- Comment #0 from Eyyüb Sari <eyyub.pangearaion at gmail.com> 2012-09-02 11:36:58 PDT ---
Hi,

<code>
import std.stdio;
import std.datetime;
import std.parallelism;

void doFor(File file)
{
    static uint n;
        ++n;
    file.writeln("Task n°", n, " begin: ", Clock.currAppTick);
    for(uint i = 0; i < 100; ++i)
    {}
    file.writeln("Task n°", n, " end : ", Clock.currAppTick);
}

void main()
{
    writeln("begin");
    auto file = File("task.txt", "w");
    for(uint i = 0; i < 10; ++i)
    {
        auto test = task!(doFor(file));
        test.executeInNewThread();
    }
    file.close();
    writeln("end");
}
</code>
That code produces this error :

>Assertion failed: (v2->hasValue()), function interpret, file interpret.c, line 677.
>Abort trap: 6

And, with dustmite, the result is :

<code>
import std.stdio;
import std.parallelism;

void doFor(File )
{

}

void main()
{
    auto file = File;
    test = task!(doFor(file));
}
</code>

So, why is CTFE invoked here ?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list