Short example :
double * a = mat.data(); // OK
double * b = mat.diagonal().data(); // The method data() does not exist
If it is the diagonal of a direct access type, this should be solved directly by solving bug 58. (And for non direct access the data() function would not make sense.)
As a first workaround, one could Matrix<...>::diagonal() return a strided map.
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/344.