id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12241,Data-driven testing over a range of std::tuple has broken,Tony Lewis ,Raffi Enficiaud,"The following code, which compiled and ran under Boost 1.60.0, fails to compile under Boost 1.61.0. {{{ #!cpp #define BOOST_TEST_MODULE boost_test_tuple_prob #include #include #include #include #include const std::vector< std::tuple> values = { std::tuple{ 1, 11 }, std::tuple{ 2, 12 }, std::tuple{ 3, 13 }, }; BOOST_DATA_TEST_CASE( test1, boost::unit_test::data::make( values ), var1, var2 ) { std::cout << var1 << "", "" << var2 << ""\n""; } }}} The compilation error is around line 66 of `boost/test/data/for_each_sample.hpp` and it's complaining about `tuple_size< const tuple &>` being an incomplete type. I think the problem is just that `tuple_size` doesn't work on a const reference type and this can be fixed by changing the `T` in that line to `typename std::decay::type`. If this sort of use of `std::tuple` isn't supported (see ticket:12240) then I think Boost Test should be fixed to allow the above code but without `var2`.",Bugs,closed,Boost 1.62.0,test,Boost 1.61.0,Regression,fixed,"test,tuple,data-driven,BOOST_DATA_TEST_CASE,std::tuple",