computeInverseAndDetWithCheck does not check fixed size of inverse matrix

This code gives a compile error:

Eigen::MatrixXd M(3,3); // defined elsewhere
Eigen::MatrixXd M_inv;
double det(0);
bool invertible(false);
M.computeInverseAndDetWithCheck(M_inv, det, invertible);

but the following does not, and only gives an exception at runtime

Eigen::Matrix3d M; // fixed size 3x3 matrix
Eigen::MatrixXd M_inv; // dynamic matrix <-- this should fail at compile time, or resize to 3x3
double det(0);
bool invertible(false);
M.computeInverseAndDetWithCheck(M_inv, det, invertible);

I expected the second bit of code to give another compile time error, or the dynamic matrix to be re-sized to 3x3 by the computeInverseAndDetWithCheck function.

Edited by Menno Deij - van Rijswijk