C ++ - O que pode ser feito com erros internos do compilador?

Eu encontrei algo interessante e chato durante a programação de uma classe de matriz: erro interno do compilador. Eu estava disposto a invocar um construtor irmão na classe chamadaMatrix4<T>::Matrix4(Matrix4<T>&&). Essa é a parte do código que gera esse erro:

template<typename T>
Matrix4(Matrix4&& matrix_) = default;

template<typename T>
Matrix4<T>::Matrix4(T (&&matrix_)[4][4]):
    Matrix4({
        .data = {
            {matrix_[0][0], matrix_[0][1], matrix_[0][2], matrix_[0][3]},
            {matrix_[1][0], matrix_[1][1], matrix_[1][2], matrix_[1][3]},
            {matrix_[2][0], matrix_[2][1], matrix_[2][2], matrix_[2][3]},
            {matrix_[3][0], matrix_[3][1], matrix_[3][2], matrix_[3][3]}
        }
    })
{

}

E esse é o erro interno do compilador (compilador é GCC e IDE é Code :: Blocks):

Erro interno do compilador: em process_init_constructor_array, em cp / typeck2.c: 1080

Supostamente, o compilador não pode analisar com êxito o meu código. Eu tenho certeza que a sintaxe está bem, no entanto. O que posso fazer nesta situação?

questionAnswers(1)

yourAnswerToTheQuestion