[Issue 15804] New: missing UDAs on nested struct template

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Thu Mar 17 00:28:37 PDT 2016


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

          Issue ID: 15804
           Summary: missing UDAs on nested struct template
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: epi at atari8.info

Code:

@(42) struct Foo(D) {}
auto fooFac(T)()
{
    pragma(msg, __traits(getAttributes, Foo));
    return Foo!T();
}

auto booFac(T)()
{
    @(43) struct Boo {}
    pragma(msg, __traits(getAttributes, Boo));
    return Boo();
}

auto barFac(T)()
{
    @(44) struct Bar(D) {}
    pragma(msg, __traits(getAttributes, Bar));
    return Bar!T();
}

auto bazFac(T)()
{
    @(45) static struct Baz(D) {}
    pragma(msg, __traits(getAttributes, Baz));
    return Baz!T();
}

void main()
{
    auto foo = fooFac!int;
    auto boo = booFac!int;
    auto bar = barFac!int;
    auto baz = bazFac!int;
}

Compilation produces:
tuple(42)
tuple(43)
tuple()
tuple()

Expected:
tuple(42)
tuple(43)
tuple(44)
tuple(45)

--


More information about the Digitalmars-d-bugs mailing list