[Issue 10740] std.concurrency send() fails with structs over 32 bytes

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Aug 24 06:08:37 PDT 2013


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


Johannes Pfau <johannespfau at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |johannespfau at gmail.com


--- Comment #2 from Johannes Pfau <johannespfau at gmail.com> 2013-08-24 06:08:34 PDT ---
There recently was a bug report for GDC/ARM regarding this. As variants max
size is determined by creal which is only 16 bytes on most non-x86
architectures this error already happens with structs > 16 bytes on these
architectures.

Another test case with different error message:
---------
struct Big
{
    int[10] a;
}

import std.concurrency, std.variant, core.thread;

void loop()
{
    while(true)
    {
        Thread.sleep(seconds(10));
    }
}

void main()
{
    auto x = spawn(&loop);
    x.send(Big());
}
---------
http://dpaste.dzfl.pl/f103dbac

core.exception.AssertError@/opt/compilers/dmd2/include/std/variant.d(280):
target must be non-null

-- 
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