Release 3.1/Dune 2.6 compile errors.
Using g++ 8.3.0 on Debian 10 I get:
[ 0%] Building CXX object test/common/CMakeFiles/test_partial.dir/test_partial.cc.o
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc: In function ‘int main(int, char**)’:
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:55:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
int main(int argc, char* argv[]) try
~~~~^~~~
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:55:26: warning: unused parameter ‘argv’ [-Wunused-parameter]
int main(int argc, char* argv[]) try
~~~~~~^~~~~~
In file included from /home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:14:
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh: In instantiation of ‘auto Dumux::partial(Dune::MultiTypeBlockVector<Args ...>&, Dune::index_constant<i>...) [with Ar
gs = {Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::Field
Vector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >}; long unsigned int ...i = {0, 2}]’:
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:41:21: required from ‘void Dumux::runTest() [with T = Dune::MultiTypeBlockVector]’
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:59:41: required from here
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh:42:18: error: no matching function for call to ‘Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >&, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >&>::MultiTypeBlockVector(std::tuple_element<0, std::tuple<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > > >::type&, std::tuple_element<0, std::tuple<Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > > >::type&)’
return Dune::MultiTypeBlockVector<std::add_lvalue_reference_t<std::decay_t<std::tuple_element_t<indices, std::tuple<Args...>>>>...>(v[indices]...);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:12:
/usr/include/dune/istl/multitypeblockvector.hh:53:9: note: candidate: ‘constexpr Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >&, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >&>::MultiTypeBlockVector(const Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >&, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >&>&)’
class MultiTypeBlockVector
^~~~~~~~~~~~~~~~~~~~
/usr/include/dune/istl/multitypeblockvector.hh:53:9: note: candidate expects 1 argument, 2 provided
/usr/include/dune/istl/multitypeblockvector.hh:53:9: note: candidate: ‘constexpr Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >&, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >&>::MultiTypeBlockVector(Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >&, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > >&>&&)’
/usr/include/dune/istl/multitypeblockvector.hh:53:9: note: candidate expects 1 argument, 2 provided
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc: In instantiation of ‘void Dumux::runTest() [with T = Dune::MultiTypeBlockVector]’:
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:59:41: required from here
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:41:10: error: ‘void p’ has incomplete type
auto p = partial(m, _0, _2);
^
In file included from /home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:14:
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh: In instantiation of ‘auto Dumux::partial(T&, std::tuple<Dune::index_constant<i>...>) [with T = Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > >; long unsigned int ...i = {0, 2}]’:
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:42:16: required from ‘void Dumux::runTest() [with T = Dune::MultiTypeBlockVector]’
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:59:41: required from here
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh:62:59: warning: unused parameter ‘indices’ [-Wunused-parameter]
auto partial(T& t, std::tuple<Dune::index_constant<i>...> indices)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh: In instantiation of ‘auto Dumux::partial(T&, std::tuple<Dune::index_constant<i>...>) [with T = std::tuple<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > >; long unsigned int ...i = {0, 2}]’:
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:42:16: required from ‘void Dumux::runTest() [with T = std::tuple]’
/home/mblatt/src/dune/opm-2.6/dumux/test/common/test_partial.cc:60:25: required from here
/home/mblatt/src/dune/opm-2.6/dumux/dumux/common/partial.hh:62:59: warning: unused parameter ‘indices’ [-Wunused-parameter]
make[3]: *** [test/common/CMakeFiles/test_partial.dir/build.make:63: test/common/CMakeFiles/test_partial.dir/test_partial.cc.o] Fehler 1
make[2]: *** [CMakeFiles/Makefile2:4727: test/common/CMakeFiles/test_partial.dir/all] Fehler 2
make[1]: *** [CMakeFiles/Makefile2:1546: CMakeFiles/build_tests.dir/rule] Fehler 2
make: *** [Makefile:652: build_tests] Fehler 2