mapear com tipo de valor incompleto

Estou recebendo um erro com o seguinte:

class Test
{
    std::map<std::string,Test> test;
};

O erro é "O campo tem tipo incompleto 'Teste'". Eu li alguns tópicos sugerindo que isso pode ser um bug na versão do libcxx que vem com o xcode, mas não me surpreenderia se eu tivesse que mudá-lo para:

class Test
{
    std::map<std::string,std::shared_ptr<Test>> test;
};

Eu só queria verificar que este é definitivamente um erro correto e não um bug.

Felicidades!

questionAnswers(1)

yourAnswerToTheQuestion