I tried to use common c++ technique in D:
class Super (alias T)
{
alias T.Type A; >>> Error: no property 'Type' for type xxx.Sub'
void test()
{
alias T.Type B; >>> ok
}
}
class Sub : Super !(Sub)
{
alias int Type;
}
alias A fails to compile although alias B inside scope of function is ok. Is that intended? What is the idea behind that?
Vladimir