Regression caused by switch to HybridTreePath
Commit 7cd2a996
Replace TreePath<i...> by HybridTreePath<Dune::index_constant<i>...>
caused a build failure for a code of mine. The compiler error is
In file included from /home/sander/dune/dune-fracture-phasefields/src/brittle-fracture.cc:49:
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh: In instantiation of ‘struct Dune::PDELab::gfs::{anonymous}::find_ordering_treepath_for_sub_gfs<Dune::PDELab::GridViewOrdering<Dune::PDELab::CompositeEntityBlockedLocalOrdering<Dune::PDELab::PowerEntityBlockedLocalOrdering<Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> >, 2>, Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> > > >, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::TypeTree::TreePath<>, Dune::TypeTree::HybridTreePath<std::integral_constant<long unsigned int, 0>, std::integral_constant<long unsigned int, 0> > >’:
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:96:21: recursively required from ‘struct Dune::PDELab::gfs::{anonymous}::find_ordering_treepath_for_sub_gfs<Dune::PDELab::GridViewOrdering<Dune::PDELab::CompositeEntityBlockedLocalOrdering<Dune::PDELab::PowerEntityBlockedLocalOrdering<Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> >, 2>, Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> > > >, Dune::PDELab::CompositeGridFunctionSpace<Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)2>, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 0>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> > >, Dune::TypeTree::TreePath<0>, Dune::TypeTree::HybridTreePath<std::integral_constant<long unsigned int, 0> > >’
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:96:21: required from ‘struct Dune::PDELab::gfs::{anonymous}::find_ordering_treepath_for_sub_gfs<Dune::PDELab::GridViewOrdering<Dune::PDELab::CompositeEntityBlockedLocalOrdering<Dune::PDELab::PowerEntityBlockedLocalOrdering<Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> >, 2>, Dune::PDELab::LeafLocalOrdering<Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams>, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::PartitionViewEntitySet<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PartitionSet<31> >, Dune::PDELab::DOFIndex<long unsigned int, 3, 2>, Dune::PDELab::MultiIndex<long unsigned int, 2> > > >, Dune::PDELab::CompositeGridFunctionSpace<Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)2>, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 0>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> > >, Dune::TypeTree::TreePath<0>, Dune::TypeTree::HybridTreePath<> >’
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:166:13: required from ‘class Dune::PDELab::gfs::DefaultSubSpaceFeatures<Dune::PDELab::CompositeGridFunctionSpace<Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)2>, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 0>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> > >, Dune::TypeTree::TreePath<0>, Dune::PDELab::VectorGridFunctionSpaceTag>’
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:307:13: required from ‘class Dune::PDELab::gfs::SubSpaceFeatureProvider<Dune::PDELab::CompositeGridFunctionSpace<Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)2>, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 0>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> > >, Dune::TypeTree::TreePath<0>, Dune::PDELab::VectorGridFunctionSpaceTag>’
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:385:13: required from ‘class Dune::PDELab::gfs::GridFunctionSubSpace<Dune::PDELab::CompositeGridFunctionSpace<Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)2>, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::VectorGridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, 2, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 0>, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::EntityBlockedOrderingTag, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> >, Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::UGGridLeafGridViewTraits<const Dune::UGGrid<2> > >, Dune::PDELab::PkQkLocalFiniteElementMap<double, double, 2, 1>, Dune::PDELab::NoConstraints, Dune::PDELab::ISTL::VectorBackend<(Dune::PDELab::ISTL::Blocking)0, 1>, Dune::PDELab::LeafOrderingTag<Dune::PDELab::EmptyParams> > >, Dune::TypeTree::TreePath<0> >’
/home/sander/dune/dune-fracture-phasefields/src/brittle-fracture.cc:820:91: required from here
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:75:21: error: incomplete type ‘Dune::TypeTree::TreePathFront<Dune::TypeTree::TreePath<> >’ used in nested name specifier
>::type SubGFS;
^~~~~~
/home/sander/dune/dune-pdelab/dune/pdelab/gridfunctionspace/subspace.hh:80:46: error: incomplete type ‘Dune::TypeTree::TreePathFront<Dune::TypeTree::TreePath<> >’ used in nested name specifier
(SubOrdering::consume_tree_index ? TypeTree::TreePathFront<GFSTP>::value : 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated due to -fmax-errors=2.