From 784a3f13cfbb58d51f8c8d49a8c2c424e27ad013 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 9 Nov 2018 21:45:10 +0100 Subject: bug #1619: fix mixing of const and non-const generic iterators --- test/stl_iterators.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'test/stl_iterators.cpp') diff --git a/test/stl_iterators.cpp b/test/stl_iterators.cpp index 8c56db506..5fef34c0d 100644 --- a/test/stl_iterators.cpp +++ b/test/stl_iterators.cpp @@ -66,9 +66,15 @@ void check_begin_end_for_loop(Xpr xpr) { // simple API check - typename Xpr::const_iterator cit; - cit = xpr.begin(); + typename Xpr::const_iterator cit = xpr.begin(); cit = xpr.cbegin(); + + #if EIGEN_HAS_CXX11 + auto tmp1 = xpr.begin(); + VERIFY(tmp1==xpr.begin()); + auto tmp2 = xpr.cbegin(); + VERIFY(tmp2==xpr.cbegin()); + #endif } VERIFY( xpr.end() -xpr.begin() == xpr.size() ); @@ -150,8 +156,9 @@ void test_stl_iterators(int rows=Rows, int cols=Cols) { check_begin_end_for_loop(v); - check_begin_end_for_loop(v.col(internal::random(0,A.cols()-1))); - check_begin_end_for_loop(v.row(internal::random(0,A.rows()-1))); + check_begin_end_for_loop(A.col(internal::random(0,A.cols()-1))); + check_begin_end_for_loop(A.row(internal::random(0,A.rows()-1))); + check_begin_end_for_loop(v+v); } #if EIGEN_HAS_CXX11 -- cgit v1.2.3