[Issue 20894] New: ICE: passing a member template mixin identifier as alias argument

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jun 2 18:05:03 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=20894

          Issue ID: 20894
           Summary: ICE: passing a member template mixin identifier as
                    alias argument
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: boris2.9 at gmail.com

------------------------
mixin template MT()
{ 
}

struct S
{
    mixin MT mt;
}

void main()
{
    auto r = S();
    enum c = S();

    foo!(r.mt);  // OK
    foo!(c.mt);  // ICE

    foo!(mixin("r.mt"));  // ICE
    foo!(mixin("c.mt"));  // ICE

}

void foo(alias A)() {}
------------------------

output:

be = '.' c.mixin MT!() mt;
 at [aaaaa.d(16)]

core.exception.AssertError at dmd/dinterpret.d(3144): Assertion failure

--


More information about the Digitalmars-d-bugs mailing list