Re: [Boost-bugs] [Boost C++ Libraries] #11889: BOOST_DATA_TEST_CASE fails to compile for 4D and higher dimensional grids

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11889: BOOST_DATA_TEST_CASE fails to compile for 4D and higher dimensional grids
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-01-09 16:15:34


#11889: BOOST_DATA_TEST_CASE fails to compile for 4D and higher dimensional grids
-----------------------------------------------------+---------------------
  Reporter: Martin Schulze <spam.martin.schulze@…> | Owner: rogeeff
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: test
   Version: Boost 1.60.0 | Severity: Problem
Resolution: | Keywords:
-----------------------------------------------------+---------------------

Comment (by Martin Schulze <spam.martin.schulze@…>):

 I tried to set up modular boost and compile with that. The error message
 changed to
 {{{
 /tmp/modular-boost/boost/test/data/for_each_sample.hpp:52:11:
 error: no match for call to
 '(const boost::unit_test::data::ds_detail::test_case_gen<
     Test_4D_grid, boost::unit_test::data::monomorphic::grid<
         boost::unit_test::data::monomorphic::grid<
             boost::unit_test::data::monomorphic::grid<
                 boost::unit_test::data::monomorphic::generated_by<
                     boost::unit_test::data::monomorphic::xrange_t<int,
 int>
>,
                 boost::unit_test::data::monomorphic::generated_by<
                     boost::unit_test::data::monomorphic::xrange_t<int,
 int>
>
>,
             boost::unit_test::data::monomorphic::generated_by<
                 boost::unit_test::data::monomorphic::xrange_t<int, int>
>
>,
         boost::unit_test::data::monomorphic::generated_by<
             boost::unit_test::data::monomorphic::xrange_t<int, int>
>
>
>)
 (const int&, const int&, const int&, const int&)'
      action( std::get<I>(args)... );

 /tmp/modular-boost/boost/test/data/test_case.hpp:100:13:
 note: candidate:
 template<class Arg0> void
 boost::unit_test::data::ds_detail::test_case_gen<TestCase,
 DataSet>::operator()(const Arg0&) const [with Arg0 = Arg0; TestCase =
 Test_4D_grid; DataSet =
 boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >]
      void operator()( BOOST_PP_ENUM_BINARY_PARAMS(arity, Arg, const&
 arg) ) const \

 in expansion of macro ...

 /tmp/modular-boost/boost/test/data/test_case.hpp:107:5: note: in expansion
 of macro 'BOOST_PP_REPEAT_FROM_TO'
      BOOST_PP_REPEAT_FROM_TO(1, 4, TC_MAKE, _)
      ^
 /tmp/modular-boost/boost/test/data/for_each_sample.hpp:52:11:
 note: candidate expects 1 argument, 4 provided
      action( std::get<I>(args)... );

 /tmp/modular-boost/boost/test/data/test_case.hpp:100:13:
 note: candidate:
 template<class Arg0, class Arg1> void
 boost::unit_test::data::ds_detail::test_case_gen<TestCase,
 DataSet>::operator()(const Arg0&, const Arg1&) const [with Arg0 = Arg0;
 Arg1 = Arg1; TestCase = Test_4D_grid; DataSet =
 boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >]
      void operator()( BOOST_PP_ENUM_BINARY_PARAMS(arity, Arg, const&
 arg) ) const \

 in expansion of macro ...

 /tmp/modular-boost/boost/test/data/test_case.hpp:107:5: note: in expansion
 of macro 'BOOST_PP_REPEAT_FROM_TO'
      BOOST_PP_REPEAT_FROM_TO(1, 4, TC_MAKE, _)
      ^
 tmp/modular-boost/boost/test/data/for_each_sample.hpp:52:11: note:
 candidate expects 2 arguments, 4 provided
      action( std::get<I>(args)... );

 /tmp/modular-boost/boost/test/data/test_case.hpp:100:13:
 note: candidate:
 template<class Arg0, class Arg1, class Arg2> void
 boost::unit_test::data::ds_detail::test_case_gen<TestCase,
 DataSet>::operator()(const Arg0&, const Arg1&, const Arg2&) const [with
 Arg0 = Arg0; Arg1 = Arg1; Arg2 = Arg2; TestCase = Test_4D_grid; DataSet =
 boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::grid<boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >,
 boost::unit_test::data::monomorphic::generated_by<boost::unit_test::data::monomorphic::xrange_t<int,
 int> > >]
      void operator()( BOOST_PP_ENUM_BINARY_PARAMS(arity, Arg, const&
 arg) ) const \

 /tmp/modular-boost/boost/test/data/test_case.hpp:107:5: note: in expansion
 of macro 'BOOST_PP_REPEAT_FROM_TO'
      BOOST_PP_REPEAT_FROM_TO(1, 4, TC_MAKE, _)
      ^
 /tmp/modular-boost/boost/test/data/for_each_sample.hpp:52:11: note:
 candidate expects 3 arguments, 4 provided
      action( std::get<I>(args)... );
 }}}
 when compiling the code in the reproduction.zip

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11889#comment:3>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC