clang ++ não aceitando o uso do parâmetro modelo de modelo ao usar o CRTP

Estou recebendo erros de compilação ao tentar chamar o construtor de classe base na lista de inicialização derivada ao usar um parâmetro de modelo de modelo com CRTP.

O problema pode ser replicado com este trecho de código:

template <template<class> class Derived, class T>
struct base
{
};

template <class T>
struct derived : public base<derived, T>
{
    derived()
        : base<derived, T>()
    { }
};

A mensagem de erro ofensiva:

bug.cpp:10:16: error: template argument for template template parameter must be a class template or type alias template
        : base<derived, T>()
               ^
bug.cpp:10:11: error: expected class member or base class name
        : base<derived, T>()
          ^
bug.cpp:10:11: error: expected '{' or ','
3 errors generated.

Esse problema só parece acontecer no clang (3.4), não no g ++ (4.8, 4.7, 4.6). Eu estou compilando com -std = c ++ 11 também.

Esta é a primeira vez que eu precisei usar o CRTP com o parâmetro template template. Estou fazendo isso bem e é um problema com o clang ++ ou não?

Eu cresci a confiar em mensagens de erro clang ++ mais do que g + + de tarde!

questionAnswers(1)

yourAnswerToTheQuestion