Static asserts to check for matching NumDimensions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/Tensor.h b/unsupported/Eigen/CXX11/src/Tensor/Tensor.h index a24097a..e596147 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +++ b/unsupported/Eigen/CXX11/src/Tensor/Tensor.h
@@ -299,6 +299,7 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(const TensorBase<OtherDerived, ReadOnlyAccessors>& other) { + EIGEN_STATIC_ASSERT(OtherDerived::NumDimensions == Base::NumDimensions, Number_of_dimensions_must_match) typedef TensorAssignOp<Tensor, const OtherDerived> Assign; Assign assign(*this, other.derived()); resize(TensorEvaluator<const Assign, DefaultDevice>(assign, DefaultDevice()).dimensions()); @@ -309,6 +310,7 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(const TensorBase<OtherDerived, WriteAccessors>& other) { + EIGEN_STATIC_ASSERT(OtherDerived::NumDimensions == Base::NumDimensions, Number_of_dimensions_must_match) typedef TensorAssignOp<Tensor, const OtherDerived> Assign; Assign assign(*this, other.derived()); resize(TensorEvaluator<const Assign, DefaultDevice>(assign, DefaultDevice()).dimensions());