especialização parcial com nome dependente (typename)

Eu tenho o seguinte simplesstrinToTypeImpl função que converte qualquer tipo de string no tipo de modelo. O problema que me preocupa é o fato de que o compilador me diz para a especialização parcial paratypename MyMatrix<T>::Vector3 :

parâmetro de modelo T não usado em especialização parcial

Não posso usar nomes dependentes na especialização?

namespace details
{

    template<typename T>
    struct stringToTypeImpl{
        bool operator()(T& t, const std::string& s)
        {
          std::istringstream iss(s);
          return !(iss >> t).fail();
        }
    };


    template<typename T>
    struct stringToTypeImpl< typename MyMatrix<T>::Vector3  >{ 

        // Replacing typename MyMatrix<T>::Vector3  by 
        // Eigen::Matrix<T,3,1> WORKS but why?

        bool operator()(typename MyMatrix<PREC>::Vector3 & t, const std::string& s)
        {
          stringToVector3<PREC>(t,s);
        }
    };
}

questionAnswers(2)

yourAnswerToTheQuestion