diff --git a/Eigen/src/Core/AssignEvaluator.h b/Eigen/src/Core/AssignEvaluator.h index cf0ab5fda..886b0aeba 100644 --- a/Eigen/src/Core/AssignEvaluator.h +++ b/Eigen/src/Core/AssignEvaluator.h @@ -309,14 +309,14 @@ struct copy_using_evaluator_impl::DstIsAligned) , - srcAlignment = assign_traits::JointAlignment + dstAlignment = alignable ? Aligned : int(copy_using_evaluator_traits::DstIsAligned) , + srcAlignment = copy_using_evaluator_traits::JointAlignment }; const Index packetAlignedMask = packetSize - 1; const Index innerSize = dst.innerSize(); const Index outerSize = dst.outerSize(); const Index alignedStep = alignable ? (packetSize - dst.outerStride() % packetSize) & packetAlignedMask : 0; - Index alignedStart = ((!alignable) || assign_traits::DstIsAligned) ? 0 + Index alignedStart = ((!alignable) || copy_using_evaluator_traits::DstIsAligned) ? 0 : first_aligned(&dstEvaluator.coeffRef(0,0), innerSize); for(Index outer = 0; outer < outerSize; ++outer)