[Issue 7368] New: template mixin + __traits(allMembers) = Assertion 'members' failed

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jan 25 11:47:59 PST 2012


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

           Summary: template mixin + __traits(allMembers) = Assertion
                    'members' failed
           Product: D
           Version: D2
          Platform: x86_64
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: tobias at pankrath.net


--- Comment #0 from Tobias Pankrath <tobias at pankrath.net> 2012-01-25 11:47:54 PST ---
import std.stdio;

struct A
{
    mixin member!(M1, M2);
}

struct M1 {}
struct M2 {}

mixin template member(children...)
{
    static if(children.length)
    {
        children[0] m;
        mixin member!(children[1..$]);
    }
}

void main()
{
    A a;
    writeln(__traits(allMembers, A));
}

-- 

dmd bugrep.d
dmd: dsymbol.c:1052: static int ScopeDsymbol::foreach(Dsymbols*, int (*)(void*,
size_t, Dsymbol*), void*, size_t*): Assertion `members' failed.
Aborted

dmd -v
DMD64 D Compiler v2.057
Copyright (c) 1999-2011 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/2.0/index.html

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