www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 15804] New: missing UDAs on nested struct template

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 puremagic.com
          Reporter: epi 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)

--
Mar 17 2016