Extended the comma initializer to support xpr on the right side:
  Matrix3i mat; Vector2i vec(33,66);
  mat << vec.transpose(), 99,
         vec, Matrix2i::random();
diff --git a/test/basicstuff.cpp b/test/basicstuff.cpp
index 56f41ed..bd009eb 100644
--- a/test/basicstuff.cpp
+++ b/test/basicstuff.cpp
@@ -105,8 +105,28 @@
 
     VERIFY_RAISES_ASSERT( (m3 << 1, 2, 3, 4, 5, 6, 7, 8) );
     VERIFY_RAISES_ASSERT( (m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) );
-    m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
+
     double data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
+
+    m3 = Matrix3d::random();
+    m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
+    VERIFY_IS_APPROX(m3, (Matrix<double,3,3,RowMajor>::map(data)) );
+
+    Vector3d vec[3];
+    vec[0] << 1, 4, 7;
+    vec[1] << 2, 5, 8;
+    vec[2] << 3, 6, 9;
+    m3 = Matrix3d::random();
+    m3 << vec[0], vec[1], vec[2];
+    VERIFY_IS_APPROX(m3, (Matrix<double,3,3,RowMajor>::map(data)) );
+
+    vec[0] << 1, 2, 3;
+    vec[1] << 4, 5, 6;
+    vec[2] << 7, 8, 9;
+    m3 = Matrix3d::random();
+    m3 << vec[0].transpose(),
+          4, 5, 6,
+          vec[2].transpose();
     VERIFY_IS_APPROX(m3, (Matrix<double,3,3,RowMajor>::map(data)) );
   }
 }