Compile error introduced by !1319
Apparently, !1319 introduces something bad. Compiling the 2p incompressible test gives ``` In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36, from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36: /home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh: In instantiation of ‘void Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::calculateVelocity(Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::VelocityVector&, const ElementVolumeVariables&, const FVElementGeometry&, const Element&, int) const [with GridVariables = Dumux::FVGridVariables<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, Dumux::BoxGridVolumeVariables<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > >, false, Dumux::BoxDefaultGridVolumeVariablesTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > > > >, Dumux::BoxGridFluxVariablesCache<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::PorousMediumFluxVariablesCacheImplementation<Dumux::Properties::TTag::TwoPIncompressibleBox, (Dumux::DiscretizationMethod)1>, false, Dumux::BoxDefaultGridFVCTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::PorousMediumFluxVariablesCacheImplementation<Dumux::Properties::TTag::TwoPIncompressibleBox, (Dumux::DiscretizationMethod)1> > > >; FluxVariables = Dumux::PorousMediumFluxVariables<Dumux::Properties::TTag::TwoPIncompressibleBox, Dumux::UpwindSchemeImpl<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, (Dumux::DiscretizationMethod)1> >; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::VelocityVector = std::vector<Dune::FieldVector<double, 2>, std::allocator<Dune::FieldVector<double, 2> > >; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::ElementVolumeVariables = Dumux::BoxElementVolumeVariables<Dumux::BoxGridVolumeVariables<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > >, false, Dumux::BoxDefaultGridVolumeVariablesTraits<Dumux::TwoPTestProblem<Dumux::Properties::TTag::TwoPIncompressibleBox>, Dumux::TwoPVolumeVariables<Dumux::TwoPVolumeVariablesTraits<Dune::FieldVector<double, 2>, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > >, Dumux::ImmiscibleFluidState<double, Dumux::FluidSystems::TwoPImmiscible<double, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::SimpleH2O<double> >, Dumux::FluidSystems::OnePLiquid<double, Dumux::Components::Trichloroethene<double> > > >, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> >, Dumux::InertSolidState<double, Dumux::SolidSystems::InertSolidPhase<double, Dumux::Components::Constant<1, double> > >, double, Dumux::TwoPModelTraits<(Dumux::TwoPFormulation)0>, Dumux::TwoPScvSaturationReconstruction<(Dumux::DiscretizationMethod)1, false> > > > >, false>; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::FVElementGeometry = Dumux::BoxFVElementGeometry<Dumux::BoxFVGridGeometry<double, Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, false, Dumux::BoxDefaultGridGeometryTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dumux::DefaultMapperTraits<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout>, Dune::MultipleCodimMultipleGeomTypeMapper<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2> > >, Dune::Impl::MCMGFailLayout> > > >, false>; Dumux::PorousMediumFlowVelocityOutput<GridVariables, FluxVariables>::Element = Dune::Entity<0, 2, const Dune::YaspGrid<2>, Dune::YaspEntity>]’: /home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:109:10: required from here /home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:120: error: no matching function for call to ‘eq<std::decay_t<const Dune::FieldVector<double, 2> >, absolute>(const Dune::FieldVector<double, 2>&, double, double)’ if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/bernd/DUMUX/dune-common/dune/common/float_cmp.hh:383, from /home/bernd/DUMUX/dumux/dumux/common/timeloop.hh:31, from /home/bernd/DUMUX/dumux/dumux/assembly/fvlocalresidual.hh:32, from /home/bernd/DUMUX/dumux/dumux/assembly/boxlocalresidual.hh:32, from /home/bernd/DUMUX/dumux/dumux/discretization/box/properties.hh:35, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:28, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36: /home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:133:10: note: candidate: ‘template<class T, Dune::FloatCmp::CmpStyle style> bool Dune::FloatCmp::eq(const T&, const T&, typename Dune::FloatCmp::EpsilonType<T>::Type)’ bool eq(const T &first, ^~ /home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:133:10: note: template argument deduction/substitution failed: In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36, from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36: /home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:134: note: cannot convert ‘0.0’ (type ‘double’) to type ‘const Dune::FieldVector<double, 2>&’ if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30)) ^~~ In file included from /home/bernd/DUMUX/dune-common/dune/common/float_cmp.hh:383, from /home/bernd/DUMUX/dumux/dumux/common/timeloop.hh:31, from /home/bernd/DUMUX/dumux/dumux/assembly/fvlocalresidual.hh:32, from /home/bernd/DUMUX/dumux/dumux/assembly/boxlocalresidual.hh:32, from /home/bernd/DUMUX/dumux/dumux/discretization/box/properties.hh:35, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:28, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36: /home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:177:10: note: candidate: ‘template<class T> bool Dune::FloatCmp::eq(const T&, const T&, typename Dune::FloatCmp::EpsilonType<T>::Type)’ bool eq(const T &first, ^~ /home/bernd/DUMUX/dune-common/dune/common/float_cmp.cc:177:10: note: template argument deduction/substitution failed: In file included from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/properties.hh:36, from /home/bernd/DUMUX/dumux/dumux/porousmediumflow/2p/model.hh:67, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/problem.hh:38, from /home/bernd/DUMUX/dumux/test/porousmediumflow/2p/implicit/incompressible/main.cc:36: /home/bernd/DUMUX/dumux/dumux/porousmediumflow/velocityoutput.hh:308:120: error: wrong number of template arguments (2, should be 1) if (Dune::FloatCmp::eq<std::decay_t<decltype(neumannFlux)>, Dune::FloatCmp::CmpStyle::absolute>(neumannFlux, 0.0, 1e-30)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: *** [test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/build.make:63: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/main.cc.o] Error 1 make[2]: *** [CMakeFiles/Makefile2:13278: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:13285: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/rule] Error 2 make: *** [Makefile:194: test/porousmediumflow/2p/implicit/incompressible/CMakeFiles/test_2p_incompressible_box.dir/rule] Error 2 ``` I use Dune 2.6 and gcc 8.
issue