Add support for dense.cwiseProduct(sparse)
This also fixes a regression regarding (dense*sparse).diagonal()
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index 0c7d2c6..2d0f581 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -188,6 +188,8 @@
     refM4.setRandom();
     // sparse cwise* dense
     VERIFY_IS_APPROX(m3.cwiseProduct(refM4), refM3.cwiseProduct(refM4));
+    // dense cwise* sparse
+    VERIFY_IS_APPROX(refM4.cwiseProduct(m3), refM4.cwiseProduct(refM3));
 //     VERIFY_IS_APPROX(m3.cwise()/refM4, refM3.cwise()/refM4);
 
     // test aliasing