Unsupported operations like "Matrix3d::Identity() op vector3d.asDiagonal()"
Submitted by Rhys Ulerich
Assigned to Nobody
Link to original bugzilla bug (#610)
Version: 3.4 (development)
Description
As discussed in http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2013/06/msg00002.html
the following does not compile but should...
#include <Eigen/Core>
int main()
{
using namespace Eigen;
// Works as expected
Matrix3d A1;
Matrix3d B1 = Matrix3d::Identity() * A1;
Matrix3d C1 = Matrix3d::Identity() + A1;
Matrix3d D1 = Matrix3d::Identity() - A1;
// Does not work but I expect that it should
Vector3d A2;
Matrix3d B2 = Matrix3d::Identity() * A2.asDiagonal();
Matrix3d C2 = Matrix3d::Identity() + A2.asDiagonal();
Matrix3d D2 = Matrix3d::Identity() - A2.asDiagonal();
return 0;
}