clang ++ - trata o nome da classe de modelo como modelo no escopo da classe

Parece que o clang ++ (eu tentei clang 3.2) trata o nome de uma classe de template como uma classe instanciada, não um template para qualquer ocorrência dentro do escopo da classe. Por exemplo, os seguintes códigos

template <template <class> class T>
class A {};

template <typename T>
class B {
    A<B> member;
   // ^---- clang++ treats B as an instantiated class
         // but I want it to be a template here
         // this code could compile in g++
};

int main()
{
    B<int> b;
    return 0;
}

O que devo fazer para compilar isso?

questionAnswers(2)

yourAnswerToTheQuestion