LeafGridViewOrdering has public, non-virtual destructor
Description
When compiling PDELab code with Clang 6+ or Apple Clang 10+ and the -Wall
warning flag, the compiler complains about the destructor of the LeafGridViewOrdering
and its base classes:
warning: destructor called on non-final 'Dune::PDELab::LeafGridViewOrdering<[...]>' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
According to the CPP Core Guidelines, a class with a virtual function should have a virtual or protected destructor. However, all of the Ordering
classes seem to have default public destructors. I'm not sure which of the recommended cases is appropriate for PDELab. If you give me a hint, I can raise an MR to resolve the issue.
Backtrace
Here's a complete warning backtrace: backtrace.log