[Issue 18884] New: getSymbolsByUDA fails on AliasSeq members
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sun May 20 07:42:59 UTC 2018
    
    
  
https://issues.dlang.org/show_bug.cgi?id=18884
          Issue ID: 18884
           Summary: getSymbolsByUDA fails on AliasSeq members
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: regression
          Priority: P1
         Component: phobos
          Assignee: nobody at puremagic.com
          Reporter: elpenguino+D at gmail.com
The following code started failing after DMD 2.078:
--------
unittest {
    import std.meta;
    import std.traits;
    struct X {
        alias A = AliasSeq!(ulong, uint);
    }
    alias x = getSymbolsByUDA!(X, X);
}
--------
DMD 2.080.0 produces this error:
--------
/path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/traits.d(8377): Error:
template `std.meta.Alias` does not match any template declaration
/path/to/dmd.linux/dmd2/linux/bin64/../../src/phobos/std/traits.d(8194): Error:
template instance `std.traits.getSymbolsByUDAImpl!(X, X, "A")` error
instantiating
onlineapp.d(9):        instantiated from here: `getSymbolsByUDA!(X, X)`
--------
The flawed line appears to be here: `alias member = Alias!(__traits(getMember,
symbol, names[0]));`
--
    
    
More information about the Digitalmars-d-bugs
mailing list