Hello. I have this code:
```d
import std.traits;
enum myuda;
class A { @myuda int x; }
class B : A
{
@myuda int some;
void foo() { foreach (s; getSymbolsByUDA!(typeof(this),
myuda)) {} }
}
void main() { (new B).foo(); }
```
And have this error:
```
% rdmd uda_symbols.d
/usr/include/dmd/phobos/std/traits.d-mixin-7250(7250): Error:
template instance AliasSeq!(some, x) AliasSeq!(some, x) is nested
in both B and A
/usr/include/dmd/phobos/std/traits.d(7259): Error: template
instance std.traits.getSymbolsByUDA!(B, myuda).toSymbols!("some",
"x") error instantiating
uda_symbols.d(10): instantiated from here:
getSymbolsByUDA!(B, myuda)
```
If I understand correctly it's happens because code in std.traits
can't choose between A.x and B.x, but I don't understand why.
It's a bug or it's has a more complex base?