( vector.transpose() * vector ) * scalar not compiling

I was quite surprised, but the following on master is not compiling. This is not a blocker, since we can always use the dot function, but I am curious to know why

Eigen::VectorXd vect = Eigen::Vector3d::Zero();
double working_1 = vect.transpose() * vect;
double working_2 = vect.dot( vect ) * 1.;
double not_working = ( vect.transpose() * vect ) * 1.;

https://godbolt.org/z/4asnvW